docs: Update plugins cache
authorThibault Saunier <tsaunier@igalia.com>
Mon, 8 Jun 2020 13:44:43 +0000 (09:44 -0400)
committerThibault Saunier <tsaunier@igalia.com>
Mon, 8 Jun 2020 14:57:09 +0000 (10:57 -0400)
docs/gst_plugins_cache.json

index f67ce05..14706ab 100644 (file)
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "min-latency": {
                         "blurb": "Aggregate output data to a minimum of latency time (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "plc": {
                         "blurb": "Perform packet loss concealment (if supported)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Perfect ts while timestamp jitter/imperfection within tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "max-threads": {
                         "blurb": "Maximum number of worker threads to spawn. (0 = auto)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "Multithreading methods to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecThreadType",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "debug-mv": {
                         "blurb": "Whether libav should print motion vectors on top of the image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "direct-rendering": {
                         "blurb": "Enable direct rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lowres": {
                         "blurb": "At which resolution to decode images",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "full (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecLowres",
                         "writable": true
                     },
                     "output-corrupt": {
                         "blurb": "Whether libav should output frames even if corrupted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-frame": {
                         "blurb": "Which types of frames to skip during decoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Skip nothing (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVVidDecSkipFrame",
                         "writable": true
                 "properties": {
                     "mode": {
                         "blurb": "Deinterlace Mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVDeinterlaceModes",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "aac-coder": {
                         "blurb": "Coding algorithm (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "fast (2)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "aac-encoder-coder",
                         "writable": true
                     },
                     "aac-is": {
                         "blurb": "Intensity stereo coding (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "aac-ltp": {
                         "blurb": "Long term prediction (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "aac-ms": {
                         "blurb": "Force M/S stereo coding (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "aac-pce": {
                         "blurb": "Forces the use of PCEs (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "aac-pns": {
                         "blurb": "Perceptual noise substitution (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "aac-pred": {
                         "blurb": "AAC-Main prediction (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "aac-tns": {
                         "blurb": "Temporal noise shaping (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ad-conv-type": {
                         "blurb": "A/D Converter Type (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (-1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "ac-3-encoder-ad-conv-type",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "center-mixlev": {
                         "blurb": "Center Mix Level (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.594604",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "channel-coupling": {
                         "blurb": "Channel Coupling (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (-1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "ac-3-encoder-channel-coupling",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "copyright": {
                         "blurb": "Copyright Bit (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "1",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cpl-start-band": {
                         "blurb": "Coupling Start Band (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (-1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "ac-3-encoder-cpl-start-band",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dheadphone-mode": {
                         "blurb": "Dolby Headphone Mode (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (-1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "ac-3-encoder-dheadphone-mode",
                         "writable": true
                     },
                     "dialnorm": {
                         "blurb": "Dialogue Level (dB) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-31",
                         "max": "-1",
                         "min": "-31",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dmix-mode": {
                         "blurb": "Preferred Stereo Downmix Mode (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (-1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "ac-3-encoder-dmix-mode",
                         "writable": true
                     },
                     "dsur-mode": {
                         "blurb": "Dolby Surround Mode (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (-1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "ac-3-encoder-dsur-mode",
                         "writable": true
                     },
                     "dsurex-mode": {
                         "blurb": "Dolby Surround EX Mode (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (-1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "ac-3-encoder-dsurex-mode",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "loro-cmixlev": {
                         "blurb": "Lo/Ro Center Mix Level (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "loro-surmixlev": {
                         "blurb": "Lo/Ro Surround Mix Level (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "ltrt-cmixlev": {
                         "blurb": "Lt/Rt Center Mix Level (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "ltrt-surmixlev": {
                         "blurb": "Lt/Rt Surround Mix Level (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mixing-level": {
                         "blurb": "Mixing Level (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "111",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "original": {
                         "blurb": "Original Bit Stream (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "1",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "per-frame-metadata": {
                         "blurb": "Allow Changing Metadata Per-Frame (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "room-type": {
                         "blurb": "Room Type (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (-1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "ac-3-encoder-room-type",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stereo-rematrixing": {
                         "blurb": "Stereo Rematrixing (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "surround-mixlev": {
                         "blurb": "Surround Mix Level (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ad-conv-type": {
                         "blurb": "A/D Converter Type (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (-1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "fixed-point-ac-3-encoder-ad-conv-type",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "center-mixlev": {
                         "blurb": "Center Mix Level (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.594604",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "channel-coupling": {
                         "blurb": "Channel Coupling (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (-1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "fixed-point-ac-3-encoder-channel-coupling",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "copyright": {
                         "blurb": "Copyright Bit (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "1",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cpl-start-band": {
                         "blurb": "Coupling Start Band (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (-1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "fixed-point-ac-3-encoder-cpl-start-band",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dheadphone-mode": {
                         "blurb": "Dolby Headphone Mode (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (-1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "fixed-point-ac-3-encoder-dheadphone-mode",
                         "writable": true
                     },
                     "dialnorm": {
                         "blurb": "Dialogue Level (dB) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-31",
                         "max": "-1",
                         "min": "-31",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dmix-mode": {
                         "blurb": "Preferred Stereo Downmix Mode (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (-1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "fixed-point-ac-3-encoder-dmix-mode",
                         "writable": true
                     },
                     "dsur-mode": {
                         "blurb": "Dolby Surround Mode (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (-1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "fixed-point-ac-3-encoder-dsur-mode",
                         "writable": true
                     },
                     "dsurex-mode": {
                         "blurb": "Dolby Surround EX Mode (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (-1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "fixed-point-ac-3-encoder-dsurex-mode",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "loro-cmixlev": {
                         "blurb": "Lo/Ro Center Mix Level (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "loro-surmixlev": {
                         "blurb": "Lo/Ro Surround Mix Level (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "ltrt-cmixlev": {
                         "blurb": "Lt/Rt Center Mix Level (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "ltrt-surmixlev": {
                         "blurb": "Lt/Rt Surround Mix Level (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mixing-level": {
                         "blurb": "Mixing Level (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "111",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "original": {
                         "blurb": "Original Bit Stream (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "1",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "per-frame-metadata": {
                         "blurb": "Allow Changing Metadata Per-Frame (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "room-type": {
                         "blurb": "Room Type (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (-1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "fixed-point-ac-3-encoder-room-type",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stereo-rematrixing": {
                         "blurb": "Stereo Rematrixing (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "surround-mixlev": {
                         "blurb": "Surround Mix Level (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "6",
                         "max": "30",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4",
                         "max": "30",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "Strategy to choose between I/P/B-frames (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "border-mask": {
                         "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "error-rate": {
                         "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "force-duplicated-matrix": {
                         "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "huffman": {
                         "blurb": "Huffman table strategy (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "optimal (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "amv-encoder-huffman",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "ibias": {
                         "blurb": "intra quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmax": {
                         "blurb": "maximum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmin": {
                         "blurb": "minimum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "luma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepre": {
                         "blurb": "pre motion estimation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "motion-est": {
                         "blurb": "motion estimation algorithm (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "epzs (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "amv-encoder-motion-est",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mpv-flags": {
                         "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "amv-encoder-mpv-flags",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "noise-reduction": {
                         "blurb": "Noise reduction (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pbias": {
                         "blurb": "inter quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "Prediction method (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "amv-encoder-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qsquish": {
                         "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "99",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer-noise-shaping": {
                         "blurb": "(null) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-buf-aggressivity": {
                         "blurb": "currently useless (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-eq": {
                         "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "rc-init-cplx": {
                         "blurb": "initial complexity for 1-pass encoding (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-amp": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-freq": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-strategy": {
                         "blurb": "ratecontrol method (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ffmpeg (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "amv-encoder-rc-strategy",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "Scene change threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-cmp": {
                         "blurb": "Frame skip compare function (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "amv-encoder-cmp-func",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "Frame skip exponent (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "Frame skip factor (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "Frame skip threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dpi": {
                         "blurb": "Set image resolution (in dots per inch) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65536",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dpm": {
                         "blurb": "Set image resolution (in dots per meter) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65536",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "Prediction method (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "none (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "apng-encoder-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "long-name": "libav Avid 1:1 10-bit RGB Packer encoder",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw:\n         format: GBR_10LE\n",
+                        "caps": "video/x-raw:\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-extra-cb-iterations": {
                         "blurb": "Max extra codebook recalculation passes, more is better and slower (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-strips": {
                         "blurb": "Limit strips/frame, vintage compatible is 1..3, otherwise the more the better (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "32",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "min-strips": {
                         "blurb": "Enforce min strips/frame, more is worse and faster, must be <= max_strips (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "32",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-empty-cb": {
                         "blurb": "Avoid wasting bytes, ignore vintage MacOS decoder (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "strip-number-adaptivity": {
                         "blurb": "How fast the strip number adapts, more is slightly better, much slower (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "31",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dither-type": {
                         "blurb": "Dither type (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1411200",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dca-adpcm": {
                         "blurb": "Use ADPCM encoding (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "ibias": {
                         "blurb": "intra quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nitris-compat": {
                         "blurb": "encode with Avid Nitris compatibility (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "profile": {
                         "blurb": "(null) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dnxhd (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "dnxhd-profile",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1024",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quant-deadzone": {
                         "blurb": "Quantizer dead zone (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "7",
                         "max": "1024",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ad-conv-type": {
                         "blurb": "A/D Converter Type (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (-1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "e-ac-3-encoder-ad-conv-type",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-coupling": {
                         "blurb": "Channel Coupling (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (-1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "e-ac-3-encoder-channel-coupling",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "copyright": {
                         "blurb": "Copyright Bit (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "1",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cpl-start-band": {
                         "blurb": "Coupling Start Band (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (-1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "e-ac-3-encoder-cpl-start-band",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dheadphone-mode": {
                         "blurb": "Dolby Headphone Mode (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (-1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "e-ac-3-encoder-dheadphone-mode",
                         "writable": true
                     },
                     "dialnorm": {
                         "blurb": "Dialogue Level (dB) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-31",
                         "max": "-1",
                         "min": "-31",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dmix-mode": {
                         "blurb": "Preferred Stereo Downmix Mode (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (-1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "e-ac-3-encoder-dmix-mode",
                         "writable": true
                     },
                     "dsur-mode": {
                         "blurb": "Dolby Surround Mode (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (-1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "e-ac-3-encoder-dsur-mode",
                         "writable": true
                     },
                     "dsurex-mode": {
                         "blurb": "Dolby Surround EX Mode (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (-1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "e-ac-3-encoder-dsurex-mode",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "loro-cmixlev": {
                         "blurb": "Lo/Ro Center Mix Level (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "loro-surmixlev": {
                         "blurb": "Lo/Ro Surround Mix Level (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "ltrt-cmixlev": {
                         "blurb": "Lt/Rt Center Mix Level (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "ltrt-surmixlev": {
                         "blurb": "Lt/Rt Surround Mix Level (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mixing-level": {
                         "blurb": "Mixing Level (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "111",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "original": {
                         "blurb": "Original Bit Stream (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "1",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "per-frame-metadata": {
                         "blurb": "Allow Changing Metadata Per-Frame (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "room-type": {
                         "blurb": "Room Type (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (-1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "e-ac-3-encoder-room-type",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stereo-rematrixing": {
                         "blurb": "Stereo Rematrixing (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "Coder type (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "rice (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "ffv1-encoder-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "Context model (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slicecrc": {
                         "blurb": "Protect slices with CRCs (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "Set per-frame huffman tables (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "non-deterministic": {
                         "blurb": "Allow multithreading for e.g. context=1 at the expense of determinism (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "Prediction method (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "ffvhuff-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "Strategy to choose between I/P/B-frames (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "border-mask": {
                         "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "error-rate": {
                         "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "force-duplicated-matrix": {
                         "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "ibias": {
                         "blurb": "intra quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmax": {
                         "blurb": "maximum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmin": {
                         "blurb": "minimum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "luma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepre": {
                         "blurb": "pre motion estimation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "motion-est": {
                         "blurb": "motion estimation algorithm (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "epzs (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "flv-encoder-motion-est",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mpv-flags": {
                         "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "flv-encoder-mpv-flags",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "noise-reduction": {
                         "blurb": "Noise reduction (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pbias": {
                         "blurb": "inter quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qsquish": {
                         "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "99",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer-noise-shaping": {
                         "blurb": "(null) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-buf-aggressivity": {
                         "blurb": "currently useless (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-eq": {
                         "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "rc-init-cplx": {
                         "blurb": "initial complexity for 1-pass encoding (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-amp": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-freq": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-strategy": {
                         "blurb": "ratecontrol method (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ffmpeg (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "flv-encoder-rc-strategy",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "Scene change threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-cmp": {
                         "blurb": "Frame skip compare function (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "flv-encoder-cmp-func",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "Frame skip exponent (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "Frame skip factor (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "Frame skip threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
-                        "default": "6300",
+                        "controllable": false,
+                        "default": "128000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "code-size": {
                         "blurb": "Bits per code (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4",
                         "max": "5",
                         "min": "2",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "code-size": {
                         "blurb": "Bits per code (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4",
                         "max": "5",
                         "min": "2",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "Strategy to choose between I/P/B-frames (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "border-mask": {
                         "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "error-rate": {
                         "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "force-duplicated-matrix": {
                         "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "ibias": {
                         "blurb": "intra quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmax": {
                         "blurb": "maximum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmin": {
                         "blurb": "minimum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "luma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepre": {
                         "blurb": "pre motion estimation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "motion-est": {
                         "blurb": "motion estimation algorithm (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "epzs (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "h261-encoder-motion-est",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mpv-flags": {
                         "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "h261-encoder-mpv-flags",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "noise-reduction": {
                         "blurb": "Noise reduction (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pbias": {
                         "blurb": "inter quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qsquish": {
                         "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "99",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer-noise-shaping": {
                         "blurb": "(null) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-buf-aggressivity": {
                         "blurb": "currently useless (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-eq": {
                         "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "rc-init-cplx": {
                         "blurb": "initial complexity for 1-pass encoding (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-amp": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-freq": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-strategy": {
                         "blurb": "ratecontrol method (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ffmpeg (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "h261-encoder-rc-strategy",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "Scene change threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-cmp": {
                         "blurb": "Frame skip compare function (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "h261-encoder-cmp-func",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "Frame skip exponent (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "Frame skip factor (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "Frame skip threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "Strategy to choose between I/P/B-frames (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "border-mask": {
                         "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "error-rate": {
                         "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "force-duplicated-matrix": {
                         "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "ibias": {
                         "blurb": "intra quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmax": {
                         "blurb": "maximum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmin": {
                         "blurb": "minimum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "luma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mb-info": {
                         "blurb": "emit macroblock info for RFC 2190 packetization, the parameter value is the maximum payload size (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepre": {
                         "blurb": "pre motion estimation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "motion-est": {
                         "blurb": "motion estimation algorithm (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "epzs (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "h-263-encoder-motion-est",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mpv-flags": {
                         "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "h-263-encoder-mpv-flags",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "noise-reduction": {
                         "blurb": "Noise reduction (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "obmc": {
                         "blurb": "use overlapped block motion compensation. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pbias": {
                         "blurb": "inter quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qsquish": {
                         "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "99",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer-noise-shaping": {
                         "blurb": "(null) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-buf-aggressivity": {
                         "blurb": "currently useless (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-eq": {
                         "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "rc-init-cplx": {
                         "blurb": "initial complexity for 1-pass encoding (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-amp": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-freq": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-strategy": {
                         "blurb": "ratecontrol method (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ffmpeg (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "h-263-encoder-rc-strategy",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "Scene change threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-cmp": {
                         "blurb": "Frame skip compare function (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "h-263-encoder-cmp-func",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "Frame skip exponent (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "Frame skip factor (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "Frame skip threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "aiv": {
                         "blurb": "Use alternative inter VLC. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "Strategy to choose between I/P/B-frames (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "border-mask": {
                         "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "error-rate": {
                         "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "force-duplicated-matrix": {
                         "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "ibias": {
                         "blurb": "intra quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmax": {
                         "blurb": "maximum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmin": {
                         "blurb": "minimum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "luma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepre": {
                         "blurb": "pre motion estimation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "motion-est": {
                         "blurb": "motion estimation algorithm (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "epzs (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "h-263p-encoder-motion-est",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mpv-flags": {
                         "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "h-263p-encoder-mpv-flags",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "noise-reduction": {
                         "blurb": "Noise reduction (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "obmc": {
                         "blurb": "use overlapped block motion compensation. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pbias": {
                         "blurb": "inter quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qsquish": {
                         "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "99",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer-noise-shaping": {
                         "blurb": "(null) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-buf-aggressivity": {
                         "blurb": "currently useless (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-eq": {
                         "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "rc-init-cplx": {
                         "blurb": "initial complexity for 1-pass encoding (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-amp": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-freq": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-strategy": {
                         "blurb": "ratecontrol method (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ffmpeg (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "h-263p-encoder-rc-strategy",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "Scene change threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-cmp": {
                         "blurb": "Frame skip compare function (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "h-263p-encoder-cmp-func",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "Frame skip exponent (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "Frame skip factor (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "Frame skip threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "structured-slices": {
                         "blurb": "Write slice start position at every GOB header instead of just GOB number. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "umv": {
                         "blurb": "Use unlimited motion vectors. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "non-deterministic": {
                         "blurb": "Allow multithreading for e.g. context=1 at the expense of determinism (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "Prediction method (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "huffyuv-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "format": {
                         "blurb": "Codec Format (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "jp2 (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "jpeg-2000-encoder-format",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "DWT Type (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dwt97int (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "jpeg-2000-encoder-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tile-height": {
                         "blurb": "Tile Height (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "1073741824",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tile-width": {
                         "blurb": "Tile Width (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "1073741824",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "Prediction method (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "jpegls-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "Prediction method (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "ljpeg-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "Prediction method (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "magicyuv-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "Strategy to choose between I/P/B-frames (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "border-mask": {
                         "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "error-rate": {
                         "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "force-duplicated-matrix": {
                         "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "huffman": {
                         "blurb": "Huffman table strategy (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "optimal (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "mjpeg-encoder-huffman",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "ibias": {
                         "blurb": "intra quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmax": {
                         "blurb": "maximum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmin": {
                         "blurb": "minimum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "luma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepre": {
                         "blurb": "pre motion estimation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "motion-est": {
                         "blurb": "motion estimation algorithm (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "epzs (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "mjpeg-encoder-motion-est",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mpv-flags": {
                         "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "mjpeg-encoder-mpv-flags",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "noise-reduction": {
                         "blurb": "Noise reduction (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pbias": {
                         "blurb": "inter quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "Prediction method (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "mjpeg-encoder-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qsquish": {
                         "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "99",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer-noise-shaping": {
                         "blurb": "(null) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-buf-aggressivity": {
                         "blurb": "currently useless (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-eq": {
                         "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "rc-init-cplx": {
                         "blurb": "initial complexity for 1-pass encoding (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-amp": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-freq": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-strategy": {
                         "blurb": "ratecontrol method (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ffmpeg (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "mjpeg-encoder-rc-strategy",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "Scene change threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-cmp": {
                         "blurb": "Frame skip compare function (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "mjpeg-encoder-cmp-func",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "Frame skip exponent (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "Frame skip factor (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "Frame skip threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "Strategy to choose between I/P/B-frames (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "border-mask": {
                         "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "drop-frame-timecode": {
                         "blurb": "Timecode is in drop frame format. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "error-rate": {
                         "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "force-duplicated-matrix": {
                         "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-timecode": {
                         "blurb": "MPEG GOP Timecode in hh:mm:ss[:;.]ff format. Overrides timecode_frame_start. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "ibias": {
                         "blurb": "intra quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "intra-vlc": {
                         "blurb": "Use MPEG-2 intra VLC table. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmax": {
                         "blurb": "maximum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmin": {
                         "blurb": "minimum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "luma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepre": {
                         "blurb": "pre motion estimation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "motion-est": {
                         "blurb": "motion estimation algorithm (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "epzs (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "mpeg1video-encoder-motion-est",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mpv-flags": {
                         "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "mpeg1video-encoder-mpv-flags",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "noise-reduction": {
                         "blurb": "Noise reduction (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pbias": {
                         "blurb": "inter quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qsquish": {
                         "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "99",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer-noise-shaping": {
                         "blurb": "(null) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-buf-aggressivity": {
                         "blurb": "currently useless (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-eq": {
                         "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "rc-init-cplx": {
                         "blurb": "initial complexity for 1-pass encoding (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-amp": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-freq": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-strategy": {
                         "blurb": "ratecontrol method (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ffmpeg (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "mpeg1video-encoder-rc-strategy",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "Scene change threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scan-offset": {
                         "blurb": "Reserve space for SVCD scan offset user data. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-cmp": {
                         "blurb": "Frame skip compare function (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "mpeg1video-encoder-cmp-func",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "Frame skip exponent (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "Frame skip factor (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "Frame skip threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "alternate-scan": {
                         "blurb": "Enable alternate scantable. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "Strategy to choose between I/P/B-frames (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "border-mask": {
                         "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "drop-frame-timecode": {
                         "blurb": "Timecode is in drop frame format. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "error-rate": {
                         "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "force-duplicated-matrix": {
                         "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-timecode": {
                         "blurb": "MPEG GOP Timecode in hh:mm:ss[:;.]ff format. Overrides timecode_frame_start. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "ibias": {
                         "blurb": "intra quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "intra-vlc": {
                         "blurb": "Use MPEG-2 intra VLC table. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmax": {
                         "blurb": "maximum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmin": {
                         "blurb": "minimum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "luma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepre": {
                         "blurb": "pre motion estimation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "motion-est": {
                         "blurb": "motion estimation algorithm (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "epzs (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "mpeg2video-encoder-motion-est",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mpv-flags": {
                         "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "mpeg2video-encoder-mpv-flags",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "noise-reduction": {
                         "blurb": "Noise reduction (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "non-linear-quant": {
                         "blurb": "Use nonlinear quantizer. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pbias": {
                         "blurb": "inter quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qsquish": {
                         "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "99",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer-noise-shaping": {
                         "blurb": "(null) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-buf-aggressivity": {
                         "blurb": "currently useless (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-eq": {
                         "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "rc-init-cplx": {
                         "blurb": "initial complexity for 1-pass encoding (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-amp": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-freq": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-strategy": {
                         "blurb": "ratecontrol method (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ffmpeg (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "mpeg2video-encoder-rc-strategy",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "Scene change threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scan-offset": {
                         "blurb": "Reserve space for SVCD scan offset user data. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "seq-disp-ext": {
                         "blurb": "Write sequence_display_extension blocks. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (-1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "mpeg2video-encoder-seq-disp-ext",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-cmp": {
                         "blurb": "Frame skip compare function (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "mpeg2video-encoder-cmp-func",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "Frame skip exponent (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "Frame skip factor (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "Frame skip threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "video-format": {
                         "blurb": "Video_format in the sequence_display_extension indicating the source of the video. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unspecified (5)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "mpeg2video-encoder-video-format",
                         "writable": true
                     },
                     "alternate-scan": {
                         "blurb": "Enable alternate scantable. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "Strategy to choose between I/P/B-frames (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "border-mask": {
                         "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "data-partitioning": {
                         "blurb": "Use data partitioning. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "error-rate": {
                         "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "force-duplicated-matrix": {
                         "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "ibias": {
                         "blurb": "intra quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmax": {
                         "blurb": "maximum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmin": {
                         "blurb": "minimum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "luma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepre": {
                         "blurb": "pre motion estimation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "motion-est": {
                         "blurb": "motion estimation algorithm (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "epzs (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "mpeg4-encoder-motion-est",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mpv-flags": {
                         "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "mpeg4-encoder-mpv-flags",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "noise-reduction": {
                         "blurb": "Noise reduction (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pbias": {
                         "blurb": "inter quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qsquish": {
                         "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "99",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer-noise-shaping": {
                         "blurb": "(null) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-buf-aggressivity": {
                         "blurb": "currently useless (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-eq": {
                         "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "rc-init-cplx": {
                         "blurb": "initial complexity for 1-pass encoding (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-amp": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-freq": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-strategy": {
                         "blurb": "ratecontrol method (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ffmpeg (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "mpeg4-encoder-rc-strategy",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "Scene change threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-cmp": {
                         "blurb": "Frame skip compare function (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "mpeg4-encoder-cmp-func",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "Frame skip exponent (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "Frame skip factor (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "Frame skip threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "Strategy to choose between I/P/B-frames (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "border-mask": {
                         "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "error-rate": {
                         "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "force-duplicated-matrix": {
                         "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "ibias": {
                         "blurb": "intra quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmax": {
                         "blurb": "maximum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmin": {
                         "blurb": "minimum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "luma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepre": {
                         "blurb": "pre motion estimation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "motion-est": {
                         "blurb": "motion estimation algorithm (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "epzs (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "msmpeg4v3-encoder-motion-est",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mpv-flags": {
                         "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "msmpeg4v3-encoder-mpv-flags",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "noise-reduction": {
                         "blurb": "Noise reduction (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pbias": {
                         "blurb": "inter quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qsquish": {
                         "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "99",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer-noise-shaping": {
                         "blurb": "(null) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-buf-aggressivity": {
                         "blurb": "currently useless (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-eq": {
                         "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "rc-init-cplx": {
                         "blurb": "initial complexity for 1-pass encoding (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-amp": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-freq": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-strategy": {
                         "blurb": "ratecontrol method (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ffmpeg (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "msmpeg4v3-encoder-rc-strategy",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "Scene change threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-cmp": {
                         "blurb": "Frame skip compare function (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "msmpeg4v3-encoder-cmp-func",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "Frame skip exponent (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "Frame skip factor (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "Frame skip threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "Strategy to choose between I/P/B-frames (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "border-mask": {
                         "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "error-rate": {
                         "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "force-duplicated-matrix": {
                         "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "ibias": {
                         "blurb": "intra quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmax": {
                         "blurb": "maximum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmin": {
                         "blurb": "minimum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "luma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepre": {
                         "blurb": "pre motion estimation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "motion-est": {
                         "blurb": "motion estimation algorithm (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "epzs (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "msmpeg4v2-encoder-motion-est",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mpv-flags": {
                         "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "msmpeg4v2-encoder-mpv-flags",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "noise-reduction": {
                         "blurb": "Noise reduction (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pbias": {
                         "blurb": "inter quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qsquish": {
                         "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "99",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer-noise-shaping": {
                         "blurb": "(null) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-buf-aggressivity": {
                         "blurb": "currently useless (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-eq": {
                         "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "rc-init-cplx": {
                         "blurb": "initial complexity for 1-pass encoding (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-amp": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-freq": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-strategy": {
                         "blurb": "ratecontrol method (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ffmpeg (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "msmpeg4v2-encoder-rc-strategy",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "Scene change threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-cmp": {
                         "blurb": "Frame skip compare function (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "msmpeg4v2-encoder-cmp-func",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "Frame skip exponent (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "Frame skip factor (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "Frame skip threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "10",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "opus-delay": {
                         "blurb": "Maximum delay in milliseconds (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "360",
                         "max": "360",
                         "min": "2.5",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dpi": {
                         "blurb": "Set image resolution (in dots per inch) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65536",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dpm": {
                         "blurb": "Set image resolution (in dots per meter) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65536",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "Prediction method (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "none (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "png-encoder-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "long-name": "libav Apple ProRes encoder",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw:\n         format: { I422_10LE, Y444_10LE, A444_10LE }\n",
+                        "caps": "video/x-raw:\n         format: { I422_10LE, Y444_10LE }\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "long-name": "libav Apple ProRes encoder",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw:\n         format: { I422_10LE, Y444_10LE, A444_10LE }\n",
+                        "caps": "video/x-raw:\n         format: { I422_10LE, Y444_10LE }\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "alpha-bits": {
                         "blurb": "bits for alpha plane (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "16",
                         "max": "16",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bits-per-mb": {
                         "blurb": "desired bits per macroblock (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "8192",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mbs-per-slice": {
                         "blurb": "macroblocks per slice (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "8",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "profile": {
                         "blurb": "(null) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (-1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "prores-encoder-profile",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quant-mat": {
                         "blurb": "quantiser matrix (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (-1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "prores-encoder-quant-mat",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "vendor": {
                         "blurb": "vendor ID (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Lavc",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "long-name": "libav AJA Kona 10-bit RGB Codec encoder",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw:\n         format: GBR_10LE\n",
+                        "caps": "video/x-raw:\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quake3-compat": {
                         "blurb": "Whether to respect known limitations in Quake 3 decoder (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "Strategy to choose between I/P/B-frames (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "border-mask": {
                         "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "error-rate": {
                         "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "force-duplicated-matrix": {
                         "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "ibias": {
                         "blurb": "intra quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmax": {
                         "blurb": "maximum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmin": {
                         "blurb": "minimum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "luma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepre": {
                         "blurb": "pre motion estimation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "motion-est": {
                         "blurb": "motion estimation algorithm (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "epzs (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "rv10-encoder-motion-est",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mpv-flags": {
                         "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "rv10-encoder-mpv-flags",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "noise-reduction": {
                         "blurb": "Noise reduction (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pbias": {
                         "blurb": "inter quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qsquish": {
                         "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "99",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer-noise-shaping": {
                         "blurb": "(null) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-buf-aggressivity": {
                         "blurb": "currently useless (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-eq": {
                         "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "rc-init-cplx": {
                         "blurb": "initial complexity for 1-pass encoding (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-amp": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-freq": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-strategy": {
                         "blurb": "ratecontrol method (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ffmpeg (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "rv10-encoder-rc-strategy",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "Scene change threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-cmp": {
                         "blurb": "Frame skip compare function (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "rv10-encoder-cmp-func",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "Frame skip exponent (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "Frame skip factor (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "Frame skip threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "Strategy to choose between I/P/B-frames (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "border-mask": {
                         "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "error-rate": {
                         "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "force-duplicated-matrix": {
                         "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "ibias": {
                         "blurb": "intra quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmax": {
                         "blurb": "maximum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmin": {
                         "blurb": "minimum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "luma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepre": {
                         "blurb": "pre motion estimation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "motion-est": {
                         "blurb": "motion estimation algorithm (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "epzs (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "rv20-encoder-motion-est",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mpv-flags": {
                         "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "rv20-encoder-mpv-flags",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "noise-reduction": {
                         "blurb": "Noise reduction (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pbias": {
                         "blurb": "inter quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qsquish": {
                         "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "99",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer-noise-shaping": {
                         "blurb": "(null) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-buf-aggressivity": {
                         "blurb": "currently useless (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-eq": {
                         "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "rc-init-cplx": {
                         "blurb": "initial complexity for 1-pass encoding (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-amp": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-freq": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-strategy": {
                         "blurb": "ratecontrol method (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ffmpeg (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "rv20-encoder-rc-strategy",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "Scene change threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-cmp": {
                         "blurb": "Frame skip compare function (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "rv20-encoder-cmp-func",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "Frame skip exponent (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "Frame skip factor (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "Frame skip threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "msbc": {
                         "blurb": "use mSBC mode (wideband speech mono SBC) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "sbc-delay": {
                         "blurb": "set maximum algorithmic latency (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "13000",
                         "max": "13000",
                         "min": "1000",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rle": {
                         "blurb": "Use run-length compression (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "intra-penalty": {
                         "blurb": "Penalty for intra blocks in block decission (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "iterative-dia-size": {
                         "blurb": "Dia size for the iterative ME (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "memc-only": {
                         "blurb": "Only do ME/MC (I frames -> ref, P frame -> ME+MC). (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "motion-est": {
                         "blurb": "motion estimation algorithm (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "epzs (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "snow-encoder-motion-est",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "no-bitstream": {
                         "blurb": "Skip final bitstream writeout. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "Spatial decomposition type (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dwt97 (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "snow-encoder-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "Scene change threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "rle (3)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rle": {
                         "blurb": "Use run-length compression (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "motion-est": {
                         "blurb": "Motion estimation algorithm (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "epzs (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "svq1enc-motion-est",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rle": {
                         "blurb": "Use run-length compression (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-algo": {
                         "blurb": "(null) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "packbits (32773)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "tiff-encoder-compression-algo",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dpi": {
                         "blurb": "set the image resolution (in dpi) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "72",
                         "max": "65536",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "Prediction method (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "utvideo-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "600000000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qm": {
                         "blurb": "Custom quantization matrix (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "default (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "smpte-vc-2-encoder-quant-matrix",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slice-height": {
                         "blurb": "Slice height (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "16",
                         "max": "1024",
                         "min": "8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "slice-width": {
                         "blurb": "Slice width (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "32",
                         "max": "1024",
                         "min": "32",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Max undershoot in percent (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "5",
                         "max": "45",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "wavelet-depth": {
                         "blurb": "Transform depth (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4",
                         "max": "5",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "wavelet-type": {
                         "blurb": "Transform type (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "9_7 (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "smpte-vc-2-encoder-wavelet-idx",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "joint-stereo": {
                         "blurb": " (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "optimize-mono": {
                         "blurb": " (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ac": {
                         "blurb": "set number of audio channels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ar": {
                         "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "audio-service-type": {
                         "blurb": "audio service type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ma (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-audio-service-type",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "channel-layout": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cutoff": {
                         "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "frame-size": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "hard-resync": {
                         "blurb": "Perform clipping and sample flushing upon discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-prediction-order": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tolerance": {
                         "blurb": "Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "Strategy to choose between I/P/B-frames (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "border-mask": {
                         "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "error-rate": {
                         "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "force-duplicated-matrix": {
                         "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "ibias": {
                         "blurb": "intra quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmax": {
                         "blurb": "maximum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmin": {
                         "blurb": "minimum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "luma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepre": {
                         "blurb": "pre motion estimation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "motion-est": {
                         "blurb": "motion estimation algorithm (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "epzs (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "wmv1-encoder-motion-est",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mpv-flags": {
                         "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "wmv1-encoder-mpv-flags",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "noise-reduction": {
                         "blurb": "Noise reduction (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pbias": {
                         "blurb": "inter quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qsquish": {
                         "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "99",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer-noise-shaping": {
                         "blurb": "(null) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-buf-aggressivity": {
                         "blurb": "currently useless (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-eq": {
                         "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "rc-init-cplx": {
                         "blurb": "initial complexity for 1-pass encoding (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-amp": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-freq": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-strategy": {
                         "blurb": "ratecontrol method (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ffmpeg (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "wmv1-encoder-rc-strategy",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "Scene change threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-cmp": {
                         "blurb": "Frame skip compare function (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "wmv1-encoder-cmp-func",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "Frame skip exponent (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "Frame skip factor (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "Frame skip threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "Strategy to choose between I/P/B-frames (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "border-mask": {
                         "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "error-rate": {
                         "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "force-duplicated-matrix": {
                         "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "ibias": {
                         "blurb": "intra quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmax": {
                         "blurb": "maximum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lmin": {
                         "blurb": "minimum Lagrange factor (VBR) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "luma-elim-threshold": {
                         "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepre": {
                         "blurb": "pre motion estimation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "motion-est": {
                         "blurb": "motion estimation algorithm (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "epzs (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "wmv2-encoder-motion-est",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mpv-flags": {
                         "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "wmv2-encoder-mpv-flags",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "noise-reduction": {
                         "blurb": "Noise reduction (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pbias": {
                         "blurb": "inter quant bias (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "999999",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qsquish": {
                         "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "99",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "quantizer-noise-shaping": {
                         "blurb": "(null) (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-buf-aggressivity": {
                         "blurb": "currently useless (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-eq": {
                         "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "rc-init-cplx": {
                         "blurb": "initial complexity for 1-pass encoding (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-amp": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-qmod-freq": {
                         "blurb": "experimental quantizer modulation (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-strategy": {
                         "blurb": "ratecontrol method (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ffmpeg (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "wmv2-encoder-rc-strategy",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "Scene change threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-cmp": {
                         "blurb": "Frame skip compare function (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "wmv2-encoder-cmp-func",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "Frame skip exponent (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "Frame skip factor (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "Frame skip threshold (Private codec option)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "long-name": "libav Zip Motion Blocks Video encoder",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw:\n         format: { RGB8P, RGB15, RGB16, BGRx }\n",
+                        "caps": "video/x-raw:\n         format: RGB8P\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                 "properties": {
                     "b-qfactor": {
                         "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-qoffset": {
                         "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.25",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "b-sensitivity": {
                         "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "b-strategy": {
                         "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bidir-refine": {
                         "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "4",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate-tolerance": {
                         "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000000",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brd-scale": {
                         "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bufsize": {
                         "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "chroma-sample-location": {
                         "blurb": "chroma sample location (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-chroma-sample-location-type",
                         "writable": true
                     },
                     "chromaoffset": {
                         "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cmp": {
                         "blurb": "full-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "coder": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vlc (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-coder",
                         "writable": true
                     },
                     "compression-level": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "context": {
                         "blurb": "context model (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dark-mask": {
                         "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "dc": {
                         "blurb": "intra_dc_precision (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dct": {
                         "blurb": "DCT algorithm (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-dct",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "print specific debug info (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-debug",
                         "writable": true
                     },
                     "dia-size": {
                         "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dump-separator": {
                         "blurb": "set information dump field separator (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "field-order": {
                         "blurb": "Field order (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-field-order",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags",
                         "writable": true
                     },
                     "flags2": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-flags2",
                         "writable": true
                     },
                     "global-quality": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gop-size": {
                         "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "12",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "i-qfactor": {
                         "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-0.8",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "i-qoffset": {
                         "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "idct": {
                         "blurb": "select IDCT implementation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-idct",
                         "writable": true
                     },
                     "ildctcmp": {
                         "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vsad (8)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "keyint-min": {
                         "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-pred": {
                         "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "lumi-mask": {
                         "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-bframes": {
                         "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-pixels": {
                         "blurb": "Maximum number of pixels (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483647",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "maxrate": {
                         "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mbcmp": {
                         "blurb": "macroblock compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "mbd": {
                         "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "simple (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-mbd",
                         "writable": true
                     },
                     "mblmax": {
                         "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3658",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mblmin": {
                         "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "236",
                         "max": "32767",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "me-range": {
                         "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mepc": {
                         "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
+                    "min-force-key-unit-interval": {
+                        "blurb": "Minimum interval between force-keyunit requests in nanoseconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
                     "minrate": {
                         "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mpeg-quant": {
                         "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Filename for multipass cache file",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "stats.log",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "mv0-threshold": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nr": {
                         "blurb": "noise reduction (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "nssew": {
                         "blurb": "nsse weight (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "p-mask": {
                         "blurb": "inter masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "pass": {
                         "blurb": "Encoding pass/type",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "cbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLibAVEncPass",
                         "writable": true
                     },
                     "pre-dia-size": {
                         "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "precmp": {
                         "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "pred": {
                         "blurb": "prediction method (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "left (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-pred",
                         "writable": true
                     },
                     "preme": {
                         "blurb": "pre motion estimation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ps": {
                         "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qblur": {
                         "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qcomp": {
                         "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.5",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qdiff": {
                         "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmax": {
                         "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "1024",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qmin": {
                         "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "69",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events from downstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quantizer": {
                         "blurb": "Constant Quantizer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.01",
                         "max": "30",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-init-occupancy": {
                         "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rc-max-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "rc-min-vbv-use": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "refs": {
                         "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sc-threshold": {
                         "blurb": "scene change threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scplx-mask": {
                         "blurb": "spatial complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "side-data-only-packets": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-exp": {
                         "blurb": "frame skip exponent (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-factor": {
                         "blurb": "frame skip factor (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-threshold": {
                         "blurb": "frame skip threshold (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skipcmp": {
                         "blurb": "frame skip compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dctmax (13)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "slices": {
                         "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "strict": {
                         "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-strict",
                         "writable": true
                     },
                     "subcmp": {
                         "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "sad (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-cmp-func",
                         "writable": true
                     },
                     "subq": {
                         "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "tcplx-mask": {
                         "blurb": "temporal complexity masking (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "thread-type": {
                         "blurb": "select multithreading type (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slice+frame",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-thread-type",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "set the number of threads (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "unknown (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "avcodeccontext-threads",
                         "writable": true
                     },
                     "ticks-per-frame": {
                         "blurb": "(null) (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timecode-frame-start": {
                         "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "trellis": {
                         "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "maxdelay": {
                         "blurb": "Set the maximum demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "preload": {
                         "blurb": "Set the initial demux-decode delay (in microseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                         "value": "0x00000010"
                     },
                     {
-                        "desc": "Drop frames whose parameters differ from first decoded frame",
-                        "name": "drop_changed",
-                        "value": "0x00000020"
-                    },
-                    {
                         "desc": "use loop filter",
                         "name": "loop",
                         "value": "0x00000800"