docs: Update plugins cache
authorThibault Saunier <tsaunier@igalia.com>
Mon, 8 Jun 2020 14:56:02 +0000 (10:56 -0400)
committerThibault Saunier <tsaunier@igalia.com>
Tue, 9 Jun 2020 15:45:13 +0000 (11:45 -0400)
docs/gst_plugins_cache.json

index 979cb8d..9a26d7e 100644 (file)
                 "properties": {
                     "blocksize": {
                         "blurb": "Size in bytes to read per buffer (-1 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4096",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "channel": {
                         "blurb": "Channel number for listening",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "63",
                         "max": "64",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "consecutive": {
                         "blurb": "send n consecutive frames after skipping",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "device-name": {
                         "blurb": "user-friendly name of the device",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Default",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": false
                     },
                     "do-timestamp": {
                         "blurb": "Apply current stream time to buffers",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "drop-incomplete": {
                         "blurb": "drop incomplete frames",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "guid": {
                         "blurb": "select one of multiple DV devices by its GUID. use a hexadecimal like 0xhhhhhhhhhhhhhhhh. (0 = no guid)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "num-buffers": {
                         "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "port": {
                         "blurb": "Port number (-1 automatic)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "16",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip": {
                         "blurb": "skip n frames",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "typefind": {
                         "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "use-avc": {
                         "blurb": "Use AV/C VTR control",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "blocksize": {
                         "blurb": "Size in bytes to read per buffer (-1 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4096",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "channel": {
                         "blurb": "Channel number for listening",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "63",
                         "max": "64",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "device-name": {
                         "blurb": "user-friendly name of the device",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Default",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": false
                     },
                     "do-timestamp": {
                         "blurb": "Apply current stream time to buffers",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "guid": {
                         "blurb": "select one of multiple DV devices by its GUID. use a hexadecimal like 0xhhhhhhhhhhhhhhhh. (0 = no guid)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "num-buffers": {
                         "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "port": {
                         "blurb": "Port number (-1 automatic)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "16",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "typefind": {
                         "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "use-avc": {
                         "blurb": "Use AV/C VTR control",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "async": {
                         "blurb": "Go asynchronously to PAUSED",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "blocksize": {
                         "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4096",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "brightness": {
                         "blurb": "brightness",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "contrast": {
                         "blurb": "contrast",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "16",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dither": {
                         "blurb": "dither",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "no-dithering (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAASinkDitherers",
                         "writable": true
                     },
                     "driver": {
                         "blurb": "driver",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "x11 (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAASinkDrivers",
                         "writable": true
                     },
                     "enable-last-sample": {
                         "blurb": "Enable the last-sample property",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "frame-time": {
                         "blurb": "frame time",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": false
                     },
                     "frames-displayed": {
                         "blurb": "frames displayed",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": false
                     },
                     "gamma": {
                         "blurb": "gamma",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "5",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "height": {
                         "blurb": "height",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "24",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "inversion": {
                         "blurb": "inversion",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "last-sample": {
                         "blurb": "The last sample received in the sink",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstSample",
                         "writable": false
                     },
                     "max-bitrate": {
                         "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "max-lateness": {
                         "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "5000000",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "processing-deadline": {
                         "blurb": "Maximum processing time for a buffer in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "15000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Generate Quality-of-Service events upstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "randomval": {
                         "blurb": "randomval",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "render-delay": {
                         "blurb": "Additional render delay of the sink 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
                     },
                     "show-preroll-frame": {
                         "blurb": "Whether to render video frames during preroll",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Sink Statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-gst-base-sink-stats, average-rate=(double)0, dropped=(guint64)0, rendered=(guint64)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "sync": {
                         "blurb": "Sync on the clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "throttle-time": {
                         "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "ts-offset": {
                         "blurb": "Timestamp offset in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "width": {
                         "blurb": "width",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "80",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "brightness": {
                         "blurb": "Brightness",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "255",
                         "min": "-255",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "brightness-actual": {
                         "blurb": "Actual calculated foreground pixel fill percentage",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.35",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": false
                     },
                     "brightness-auto": {
                         "blurb": "Automatically adjust brightness based on the previous frame's foreground pixel fill percentage",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "brightness-max": {
                         "blurb": "Maximum target foreground pixel fill percentage for automatic brightness control",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.4",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "brightness-min": {
                         "blurb": "Minimum target foreground pixel fill percentage for automatic brightness control",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.3",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "color-background": {
                         "blurb": "Color to use as the background for the ASCII text (big-endian ARGB).",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "-16777216",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "color-rain": {
                         "blurb": "Automatically sets color-rain-bold, color-rain-normal, and color-rain-dim with progressively dimmer values (big-endian ARGB).",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "-16711936",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "color-rain-bold": {
                         "blurb": "Sets the brightest color to use for foreground ASCII text rain overlays (big-endian ARGB).",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "-16711936",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "color-rain-dim": {
                         "blurb": "Sets the dimmest brightness color to use for foreground ASCII text rain overlays (big-endian ARGB).",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "-16761088",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "color-rain-normal": {
                         "blurb": "Sets the normal brightness color to use for foreground ASCII text rain overlays (big-endian ARGB).",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "-16744704",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "color-text": {
                         "blurb": "Automatically sets color-test-bold, color-text-normal, and color-text-dim with progressively dimmer values (big-endian ARGB).",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "color-text-bold": {
                         "blurb": "Sets the brightest color to use for foreground ASCII text (big-endian ARGB).",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "color-text-dim": {
                         "blurb": "Sets the dimmest brightness color to use for foreground ASCII text (big-endian ARGB).",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "-12632257",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "color-text-normal": {
                         "blurb": "Sets the normal brightness color to use for foreground ASCII text (big-endian ARGB).",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "-8421505",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "contrast": {
                         "blurb": "Contrast",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "255",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dither": {
                         "blurb": "Add noise to more closely approximate gray levels.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "no-dithering (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAATvDitherers",
                         "writable": true
                     },
                     "font": {
                         "blurb": "AAlib Font",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "Standard-vga-8x8-font (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAATvFonts",
                         "writable": true
                     },
                     "gamma": {
                         "blurb": "Gamma correction",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "5",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "height": {
                         "blurb": "Height of the ASCII canvas",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "24",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "rain-delay-max": {
                         "blurb": "Maximum frame delay between rain motion",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rain-delay-min": {
                         "blurb": "Minimum frame delay between rain motion",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rain-length-max": {
                         "blurb": "Maximum length of a rain",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "30",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rain-length-min": {
                         "blurb": "Minimum length of a rain",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rain-mode": {
                         "blurb": "Set the direction of raindrops",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "none (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAATvRainModes",
                         "writable": true
                     },
                     "rain-spawn-rate": {
                         "blurb": "Percentage chance for a raindrop to spawn",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.2",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "randomval": {
                         "blurb": "Adds a random value in the range (-randomval/2,ranomval/2) to each pixel during rendering",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "255",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "width": {
                         "blurb": "Width of the ASCII canvas",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "80",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "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": {
                     "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
                     },
                     "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
                     },
                     "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
                 "properties": {
                     "alpha": {
                         "blurb": "The value for the alpha channel",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "1",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "angle": {
                         "blurb": "Size of the colorcube to change",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "20",
                         "max": "90",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "black-sensitivity": {
                         "blurb": "Sensitivity to dark colors",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "100",
                         "max": "128",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "method": {
                         "blurb": "How the alpha channels should be created",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "set (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAlphaMethod",
                         "writable": true
                     },
                     "noise-level": {
                         "blurb": "Size of noise radius",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "2",
                         "max": "64",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "prefer-passthrough": {
                         "blurb": "Don't do any processing for alpha=1.0 if possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "target-b": {
                         "blurb": "The blue color value for custom RGB chroma keying",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "255",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "target-g": {
                         "blurb": "The green color value for custom RGB chroma keying",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "255",
                         "max": "255",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "target-r": {
                         "blurb": "The red color value for custom RGB chroma keying",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "255",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "white-sensitivity": {
                         "blurb": "Sensitivity to bright colors",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "100",
                         "max": "128",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "amplification": {
                         "blurb": "Factor of amplification",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "1",
                         "max": "3.40282e+38",
                         "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "clipping-method": {
                         "blurb": "Selects how to handle values higher than the maximum",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "clip (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAudioAmplifyClippingMethod",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "lower-frequency": {
                         "blurb": "Start frequency of the band (Hz)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "100000",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "mode": {
                         "blurb": "Low pass or high pass mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "band-pass (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAudioChebBandMode",
                         "writable": true
                     },
                     "poles": {
                         "blurb": "Number of poles to use, will be rounded up to the next multiply of four",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "4",
                         "max": "32",
                         "min": "4",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ripple": {
                         "blurb": "Amount of ripple (dB)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0.25",
                         "max": "200",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "type": {
                         "blurb": "Type of the chebychev filter",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "1",
                         "max": "2",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "upper-frequency": {
                         "blurb": "Stop frequency of the band (Hz)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "100000",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                 "properties": {
                     "cutoff": {
                         "blurb": "Cut off frequency (Hz)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "100000",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "mode": {
                         "blurb": "Low pass or high pass mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "low-pass (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAudioChebLimitMode",
                         "writable": true
                     },
                     "poles": {
                         "blurb": "Number of poles to use, will be rounded up to the next even number",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "4",
                         "max": "32",
                         "min": "2",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ripple": {
                         "blurb": "Amount of ripple (dB)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0.25",
                         "max": "200",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "type": {
                         "blurb": "Type of the chebychev filter",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "1",
                         "max": "2",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "characteristics": {
                         "blurb": "Selects whether the ratio should be applied smooth (soft-knee) or hard (hard-knee).",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "hard-knee (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAudioDynamicCharacteristics",
                         "writable": true
                     },
                     "mode": {
                         "blurb": "Selects whether the filter should work on loud samples (compressor) orquiet samples (expander).",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "compressor (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAudioDynamicMode",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ratio": {
                         "blurb": "Ratio that should be applied",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "1",
                         "max": "3.40282e+38",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "threshold": {
                         "blurb": "Threshold until the filter is activated",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                 "properties": {
                     "delay": {
                         "blurb": "Delay of the echo in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "1",
                         "max": "18446744073709551615",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "feedback": {
                         "blurb": "Amount of feedback",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "intensity": {
                         "blurb": "Intensity of the echo",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "max-delay": {
                         "blurb": "Maximum delay of the echo in nanoseconds (can't be changed in PLAYING or PAUSED state)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "18446744073709551615",
                         "min": "1",
+                        "mutable": "ready",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "surround-delay": {
                         "blurb": "Delay Surround Channels when TRUE instead of applying an echo effect",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "surround-mask": {
                         "blurb": "A bitmask of channels that are considered surround and delayed when surround-delay = TRUE",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551612",
                         "max": "18446744073709551615",
                         "min": "1",
+                        "mutable": "ready",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                 "properties": {
                     "drain-on-changes": {
                         "blurb": "Drains the filter when its coefficients change",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "kernel": {
                         "blurb": "Filter kernel for the FIR filter",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GValueArray",
                         "writable": true
                     },
                     "latency": {
                         "blurb": "Filter latency in samples",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "low-latency": {
                         "blurb": "Operate in low latency mode. This mode is slower but the latency will only be the filter pre-latency. Can only be changed in states < PAUSED!",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "a": {
                         "blurb": "Filter coefficients (denominator of transfer function)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GValueArray",
                         "writable": true
                     },
                     "b": {
                         "blurb": "Filter coefficients (numerator of transfer function)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GValueArray",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "degree": {
                         "blurb": "Degree of inversion",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "filter-band": {
                         "blurb": "The Frequency band of the filter",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "220",
                         "max": "441",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "filter-width": {
                         "blurb": "The Frequency width of the filter",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "100",
                         "max": "100",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "level": {
                         "blurb": "Level of the effect (1.0 = full)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "1",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "mono-level": {
                         "blurb": "Level of the mono channel (1.0 = full)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "1",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "method": {
                         "blurb": "Psychoacoustic mode keeps same perceived loudness, simple mode just controls volume of one channel.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "psychoacoustic (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAudioPanoramaMethod",
                         "writable": true
                     },
                     "panorama": {
                         "blurb": "Position in stereo panorama (-1.0 left -> 1.0 right)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "1",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "drain-on-changes": {
                         "blurb": "Drains the filter when its coefficients change",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "length": {
                         "blurb": "Filter kernel length, will be rounded to the next odd number",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "101",
                         "max": "256000",
                         "min": "3",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "low-latency": {
                         "blurb": "Operate in low latency mode. This mode is slower but the latency will only be the filter pre-latency. Can only be changed in states < PAUSED!",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "lower-frequency": {
                         "blurb": "Cut-off lower frequency (Hz)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "100000",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "mode": {
                         "blurb": "Band pass or band reject mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "band-pass (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAudioWSincBandMode",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "upper-frequency": {
                         "blurb": "Cut-off upper frequency (Hz)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "100000",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "window": {
                         "blurb": "Window function to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "hamming (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAudioWSincBandWindow",
                         "writable": true
                 "properties": {
                     "cutoff": {
                         "blurb": "Cut-off Frequency (Hz)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "100000",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "drain-on-changes": {
                         "blurb": "Drains the filter when its coefficients change",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "length": {
                         "blurb": "Filter kernel length, will be rounded to the next odd number",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "101",
                         "max": "256000",
                         "min": "3",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "low-latency": {
                         "blurb": "Operate in low latency mode. This mode is slower but the latency will only be the filter pre-latency. Can only be changed in states < PAUSED!",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mode": {
                         "blurb": "Low pass or high pass mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "low-pass (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAudioWSincLimitMode",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "window": {
                         "blurb": "Window function to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "hamming (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAudioWSincLimitWindow",
                         "writable": true
                 "properties": {
                     "overlap": {
                         "blurb": "Percentage of stride to overlap",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.2",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "rate": {
                         "blurb": "Current playback rate",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2.14748e+09",
                         "min": "-2.14748e+09",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": false
                     },
                     "search": {
                         "blurb": "Length in milliseconds to search for best overlap position",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "14",
                         "max": "500",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stride": {
                         "blurb": "Length in milliseconds to output each stride",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "30",
                         "max": "5000",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "active": {
                         "blurb": "active",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stereo": {
                         "blurb": "stereo",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0.01",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                 "properties": {
                     "disable-passthrough": {
                         "blurb": "Force processing (disables passthrough)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "disable-passthrough": {
                         "blurb": "Force processing (disables passthrough)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "disable-passthrough": {
                         "blurb": "Force processing (disables passthrough)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "disable-passthrough": {
                         "blurb": "Force processing (disables passthrough)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "check-frame-checksums": {
                         "blurb": "Check the overall checksums of every frame",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "disable-passthrough": {
                         "blurb": "Force processing (disables passthrough)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "disable-passthrough": {
                         "blurb": "Force processing (disables passthrough)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "disable-passthrough": {
                         "blurb": "Force processing (disables passthrough)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "disable-passthrough": {
                         "blurb": "Force processing (disables passthrough)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "async-handling": {
                         "blurb": "The bin will handle Asynchronous state changes",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "filter-caps": {
                         "blurb": "Filter sink candidates using these caps.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "audio/x-raw",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstCaps",
                         "writable": true
                     },
                     "message-forward": {
                         "blurb": "Forwards all children messages",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "sync": {
                         "blurb": "Sync on the clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ts-offset": {
                         "blurb": "Timestamp offset in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "async-handling": {
                         "blurb": "The bin will handle Asynchronous state changes",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "filter-caps": {
                         "blurb": "Filter sink candidates using these caps.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "audio/x-raw",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstCaps",
                         "writable": true
                     },
                     "message-forward": {
                         "blurb": "Forwards all children messages",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "sync": {
                         "blurb": "Sync on the clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "async-handling": {
                         "blurb": "The bin will handle Asynchronous state changes",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "filter-caps": {
                         "blurb": "Filter sink candidates using these caps.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "video/x-raw",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstCaps",
                         "writable": true
                     },
                     "message-forward": {
                         "blurb": "Forwards all children messages",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "sync": {
                         "blurb": "Sync on the clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ts-offset": {
                         "blurb": "Timestamp offset in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "async-handling": {
                         "blurb": "The bin will handle Asynchronous state changes",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "filter-caps": {
                         "blurb": "Filter sink candidates using these caps.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "video/x-raw",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstCaps",
                         "writable": true
                     },
                     "message-forward": {
                         "blurb": "Forwards all children messages",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "sync": {
                         "blurb": "Sync on the clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "bigfile": {
                         "blurb": "Support for openDML-2.0 (big) AVI files",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "anti-aliasing": {
                         "blurb": "Enables Anti-Aliasing",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "async": {
                         "blurb": "Go asynchronously to PAUSED",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "blocksize": {
                         "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4096",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "dither": {
                         "blurb": "Set type of Dither",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "none (49)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstCACASinkDithering",
                         "writable": true
                     },
                     "enable-last-sample": {
                         "blurb": "Enable the last-sample property",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "last-sample": {
                         "blurb": "The last sample received in the sink",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstSample",
                         "writable": false
                     },
                     "max-bitrate": {
                         "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "max-lateness": {
                         "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "processing-deadline": {
                         "blurb": "Maximum processing time for a buffer in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "20000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Generate Quality-of-Service events upstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "render-delay": {
                         "blurb": "Additional render delay of the sink 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
                     },
                     "screen-height": {
                         "blurb": "The height of the screen",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": false
                     },
                     "screen-width": {
                         "blurb": "The width of the screen",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "80",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": false
                     },
                     "stats": {
                         "blurb": "Sink Statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-gst-base-sink-stats, average-rate=(double)0, dropped=(guint64)0, rendered=(guint64)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "sync": {
                         "blurb": "Sync on the clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "throttle-time": {
                         "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "ts-offset": {
                         "blurb": "Timestamp offset in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "anti-aliasing": {
                         "blurb": "Enables Anti-Aliasing",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "canvas-height": {
                         "blurb": "The height of the canvas in characters",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "24",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "canvas-width": {
                         "blurb": "The width of the canvas in characters",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "80",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dither": {
                         "blurb": "Set type of Dither",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": " (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstCACATvDithering",
                         "writable": true
                     },
                     "font": {
                         "blurb": "selected libcaca font",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "draw-on-transparent-surface": {
                         "blurb": "Let the draw signal work on a transparent surface and blend the results with the video at a later time",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "leaky": {
                         "blurb": "do we leak buffers when below threshold ?",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pre-length": {
                         "blurb": "Length of pre-recording buffer (in nanoseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "run-length": {
                         "blurb": "Length of drop below threshold before cut_stop (in nanoseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "500000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "threshold": {
                         "blurb": "Volume threshold before trigger",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.1",
                         "max": "1.79769e+308",
                         "min": "-1.79769e+308",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "threshold-dB": {
                         "blurb": "Volume threshold before trigger (in dB)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-46.0517",
                         "max": "1.79769e+308",
                         "min": "-1.79769e+308",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                 "properties": {
                     "probability": {
                         "blurb": "probability for each byte in the buffer to be changed",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seed": {
                         "blurb": "seed for randomness (initialized when going from READY to PAUSED)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "set-to": {
                         "blurb": "set changed bytes to this value (-1 means random value",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "255",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip": {
                         "blurb": "amount of bytes skipped at the beginning of stream",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "caps": {
                         "blurb": "Merge these caps (thereby overwriting) in the stream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ANY",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstCaps",
                         "writable": true
                     },
                     "join": {
                         "blurb": "Match incoming caps' mime-type to mime-type of provided caps",
+                        "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",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "replace": {
                         "blurb": "Drop fields of incoming caps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seek-offset": {
                         "blurb": "Time in seconds to seek by",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "5",
                         "max": "1.79769e+308",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                 "properties": {
                     "do-query": {
                         "blurb": "Use a query instead of buffer metadata to determine stream position",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "format": {
                         "blurb": "Format to use for the querying",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "silent": {
                         "blurb": "Do not print output to stdout",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "update-freq": {
                         "blurb": "Number of seconds between reports when data is flowing",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "5",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "applied-rate": {
                         "blurb": "Applied rate to use in TIME SEGMENT",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "1.79769e+308",
                         "min": "2.22507e-308",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "async-handling": {
                         "blurb": "The bin will handle Asynchronous state changes",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "initial-timestamp": {
                         "blurb": "Initial Buffer Timestamp (if time-segment TRUE)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "location": {
                         "blurb": "Location of the file to read",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "ready",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "message-forward": {
                         "blurb": "Forwards all children messages",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "rate": {
                         "blurb": "Rate to use in TIME SEGMENT",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "1.79769e+308",
                         "min": "2.22507e-308",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "start-time": {
                         "blurb": "Initial Start Time (if time-segment TRUE)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "stream-time": {
                         "blurb": "Initial Stream Time (if time-segment TRUE)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "time-segment": {
                         "blurb": "Emit TIME SEGMENTS",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "max": {
                         "blurb": "maximum buffer size",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8192",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "min": {
                         "blurb": "minimum buffer size",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "seed": {
                         "blurb": "seed for randomness (initialized when going from READY to PAUSED)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tags": {
                         "blurb": "List of tags to inject into the target file",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": false,
                         "type": "gchararray",
                         "writable": true
                 "properties": {
                     "allowed-timestamp-deviation": {
                         "blurb": "allowed average difference in usec between timestamp of next buffer and expected timestamp from analyzing last buffer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "async": {
                         "blurb": "Go asynchronously to PAUSED",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "blocksize": {
                         "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4096",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "buffer-count": {
                         "blurb": "number of buffers in stream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": false
                     },
                     "enable-last-sample": {
                         "blurb": "Enable the last-sample property",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "expected-buffer-count": {
                         "blurb": "expected number of buffers in stream",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "expected-length": {
                         "blurb": "expected length of stream",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "expected-md5": {
                         "blurb": "expected md5 of processing the whole data",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "---",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "last-sample": {
                         "blurb": "The last sample received in the sink",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstSample",
                         "writable": false
                     },
                     "length": {
                         "blurb": "length of stream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": false
                     },
                     "max-bitrate": {
                         "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "max-lateness": {
                         "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "md5": {
                         "blurb": "md5 of processing the whole data",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "---",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": false
                     },
                     "processing-deadline": {
                         "blurb": "Maximum processing time for a buffer in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "20000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Generate Quality-of-Service events upstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "render-delay": {
                         "blurb": "Additional render delay of the sink 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
                     },
                     "stats": {
                         "blurb": "Sink Statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-gst-base-sink-stats, average-rate=(double)0, dropped=(guint64)0, rendered=(guint64)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "sync": {
                         "blurb": "Sync on the clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "throttle-time": {
                         "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "timestamp-deviation": {
                         "blurb": "average difference in usec between timestamp of next buffer and expected timestamp from analyzing last buffer",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": false
                     },
                     "ts-offset": {
                         "blurb": "Timestamp offset in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "long-name": "Deinterlacer",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw:\n         format: { AYUV, ARGB, ABGR, RGBA, BGRA, Y444, xRGB, xBGR, RGBx, BGRx, RGB, BGR, YUY2, YVYU, UYVY, Y42B, I420, YV12, Y41B, NV12, NV21 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(ANY):\n         format: { I420, YV12, YUY2, UYVY, AYUV, VUYA, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, Y410, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, BGR10A2_LE, RGB10A2_LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, P012_BE, P012_LE, I420_12BE, I420_12LE, Y212_BE, Y212_LE, I422_12BE, I422_12LE, Y412_BE, Y412_LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40, Y444_16BE, Y444_16LE, P016_BE, P016_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw:\n         format: { AYUV, ARGB, ABGR, RGBA, BGRA, Y444, xRGB, xBGR, RGBx, BGRx, RGB, BGR, YUY2, YVYU, UYVY, Y42B, I420, YV12, Y41B, NV12, NV21 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(ANY):\n         format: { AYUV64, ARGB64, GBRA_12LE, GBRA_12BE, Y412_LE, Y412_BE, A444_10LE, GBRA_10LE, A444_10BE, GBRA_10BE, A422_10LE, A422_10BE, A420_10LE, A420_10BE, RGB10A2_LE, BGR10A2_LE, Y410, GBRA, ABGR, VUYA, BGRA, AYUV, ARGB, RGBA, A420, Y444_16LE, Y444_16BE, v216, P016_LE, P016_BE, Y444_12LE, GBR_12LE, Y444_12BE, GBR_12BE, I422_12LE, I422_12BE, Y212_LE, Y212_BE, I420_12LE, I420_12BE, P012_LE, P012_BE, Y444_10LE, GBR_10LE, Y444_10BE, GBR_10BE, r210, I422_10LE, I422_10BE, NV16_10LE32, Y210, v210, UYVP, I420_10LE, I420_10BE, P010_10LE, NV12_10LE32, NV12_10LE40, P010_10BE, Y444, GBR, NV24, xBGR, BGRx, xRGB, RGBx, BGR, IYU2, v308, RGB, Y42B, NV61, NV16, VYUY, UYVY, YVYU, YUY2, I420, YV12, NV21, NV12, NV12_64Z32, Y41B, IYU1, YVU9, YUV9, RGB16, BGR16, RGB15, BGR15, RGB8P, GRAY16_LE, GRAY16_BE, GRAY10_LE32, GRAY8 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-raw:\n         format: { AYUV, ARGB, ABGR, RGBA, BGRA, Y444, xRGB, xBGR, RGBx, BGRx, RGB, BGR, YUY2, YVYU, UYVY, Y42B, I420, YV12, Y41B, NV12, NV21 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(ANY):\n         format: { I420, YV12, YUY2, UYVY, AYUV, VUYA, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, Y410, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, BGR10A2_LE, RGB10A2_LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, P012_BE, P012_LE, I420_12BE, I420_12LE, Y212_BE, Y212_LE, I422_12BE, I422_12LE, Y412_BE, Y412_LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40, Y444_16BE, Y444_16LE, P016_BE, P016_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw:\n         format: { AYUV, ARGB, ABGR, RGBA, BGRA, Y444, xRGB, xBGR, RGBx, BGRx, RGB, BGR, YUY2, YVYU, UYVY, Y42B, I420, YV12, Y41B, NV12, NV21 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(ANY):\n         format: { AYUV64, ARGB64, GBRA_12LE, GBRA_12BE, Y412_LE, Y412_BE, A444_10LE, GBRA_10LE, A444_10BE, GBRA_10BE, A422_10LE, A422_10BE, A420_10LE, A420_10BE, RGB10A2_LE, BGR10A2_LE, Y410, GBRA, ABGR, VUYA, BGRA, AYUV, ARGB, RGBA, A420, Y444_16LE, Y444_16BE, v216, P016_LE, P016_BE, Y444_12LE, GBR_12LE, Y444_12BE, GBR_12BE, I422_12LE, I422_12BE, Y212_LE, Y212_BE, I420_12LE, I420_12BE, P012_LE, P012_BE, Y444_10LE, GBR_10LE, Y444_10BE, GBR_10BE, r210, I422_10LE, I422_10BE, NV16_10LE32, Y210, v210, UYVP, I420_10LE, I420_10BE, P010_10LE, NV12_10LE32, NV12_10LE40, P010_10BE, Y444, GBR, NV24, xBGR, BGRx, xRGB, RGBx, BGR, IYU2, v308, RGB, Y42B, NV61, NV16, VYUY, UYVY, YVYU, YUY2, I420, YV12, NV21, NV12, NV12_64Z32, Y41B, IYU1, YVU9, YUV9, RGB16, BGR16, RGB15, BGR15, RGB8P, GRAY16_LE, GRAY16_BE, GRAY10_LE32, GRAY8 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                         "direction": "src",
                         "presence": "always"
                     }
                 "properties": {
                     "drop-orphans": {
                         "blurb": "Drop orphan fields at the beginning of telecine patterns in active locking mode.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "fields": {
                         "blurb": "Fields to use for deinterlacing",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "all (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstDeinterlaceFields",
                         "writable": true
                     },
                     "ignore-obscure": {
                         "blurb": "Ignore obscure telecine patterns (only consider P, I and 2:3 variants).",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "locking": {
                         "blurb": "Pattern locking mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "none (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstDeinterlaceLocking",
                         "writable": true
                     },
                     "method": {
                         "blurb": "Deinterlace Method",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "linear (4)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstDeinterlaceMethods",
                         "writable": true
                     },
                     "mode": {
                         "blurb": "Deinterlace Mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstDeinterlaceModes",
                         "writable": true
                     },
                     "tff": {
                         "blurb": "Deinterlace top field first",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstDeinterlaceFieldLayout",
                         "writable": true
                 "properties": {
                     "blocksize": {
                         "blurb": "Size in bytes to read per buffer (-1 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4096",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "do-timestamp": {
                         "blurb": "Apply current stream time to buffers",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "interval": {
                         "blurb": "Interval in ms between two tone packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "50",
                         "max": "50",
                         "min": "10",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "num-buffers": {
                         "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "typefind": {
                         "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "max-duration": {
                         "blurb": "The maxumimum duration (ms) of the outgoing soundpacket. (0 = no limit)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "unit-time": {
                         "blurb": "The smallest unit (ms) the duration must be a multiple of (0 disables it)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "1000",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "blocksize": {
                         "blurb": "Size in bytes to read per buffer (-1 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4096",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "clock-rate": {
                         "blurb": "The clock-rate at which to generate the dtmf packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8000",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "do-timestamp": {
                         "blurb": "Apply current stream time to buffers",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "num-buffers": {
                         "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "packet-redundancy": {
                         "blurb": "Number of packets to send to indicate start and stop dtmf events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "5",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "96",
                         "max": "128",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (-1 == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "typefind": {
                         "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "clamp-chroma": {
                         "blurb": "Clamp chroma",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "clamp-luma": {
                         "blurb": "Clamp luma",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "drop-factor": {
                         "blurb": "Only decode Nth frame",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "quality": {
                         "blurb": "Decoding quality",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "best (5)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstDVDecQualityEnum",
                         "writable": true
                 "properties": {
                     "color-aging": {
                         "blurb": "Color Aging",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "dusts": {
                         "blurb": "Dusts",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pits": {
                         "blurb": "Pits",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "scratch-lines": {
                         "blurb": "Number of scratch lines",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "7",
                         "max": "20",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "square-bits": {
                         "blurb": "The size of the Squares",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "4",
                         "max": "5",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "mode": {
                         "blurb": "Mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "maelstrom (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstOpTVMode",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "speed": {
                         "blurb": "Effect speed",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "16",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "threshold": {
                         "blurb": "Luma threshold",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "60",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "planes": {
                         "blurb": "Number of planes",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "16",
                         "max": "64",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "color": {
                         "blurb": "Color",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "white (3)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstRadioacTVColor",
                         "writable": true
                     },
                     "interval": {
                         "blurb": "Snapshot interval (in strobe mode)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "3",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "mode": {
                         "blurb": "Mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstRadioacTVMode",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "trigger": {
                         "blurb": "Trigger (in trigger mode)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "delay": {
                         "blurb": "Delay in frames between updates",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "1",
                         "max": "100",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "gain": {
                         "blurb": "Control gain",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "50",
                         "max": "200",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "linespace": {
                         "blurb": "Control line spacing",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "6",
                         "max": "100",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "mode": {
                         "blurb": "Mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "motion-detection (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstRippleTVMode",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "reset": {
                         "blurb": "Reset all current ripples",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": false,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "feedback": {
                         "blurb": "Feedback",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "speed": {
                         "blurb": "Control the speed of movement",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.02",
                         "max": "100",
                         "min": "0.01",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "zoom-speed": {
                         "blurb": "Control the rate of zooming",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1.01",
                         "max": "1.1",
                         "min": "1.01",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                 "properties": {
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "band0": {
                         "blurb": "gain for the frequency band 29 Hz, ranging from -24 dB to +12 dB",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "12",
                         "min": "-24",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "band1": {
                         "blurb": "gain for the frequency band 59 Hz, ranging from -24 dB to +12 dB",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "12",
                         "min": "-24",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "band2": {
                         "blurb": "gain for the frequency band 119 Hz, ranging from -24 dB to +12 dB",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "12",
                         "min": "-24",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "band3": {
                         "blurb": "gain for the frequency band 237 Hz, ranging from -24 dB to +12 dB",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "12",
                         "min": "-24",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "band4": {
                         "blurb": "gain for the frequency band 474 Hz, ranging from -24 dB to +12 dB",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "12",
                         "min": "-24",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "band5": {
                         "blurb": "gain for the frequency band 947 Hz, ranging from -24 dB to +12 dB",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "12",
                         "min": "-24",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "band6": {
                         "blurb": "gain for the frequency band 1889 Hz, ranging from -24 dB to +12 dB",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "12",
                         "min": "-24",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "band7": {
                         "blurb": "gain for the frequency band 3770 Hz, ranging from -24 dB to +12 dB",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "12",
                         "min": "-24",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "band8": {
                         "blurb": "gain for the frequency band 7523 Hz, ranging from -24 dB to +12 dB",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "12",
                         "min": "-24",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "band9": {
                         "blurb": "gain for the frequency band 15011 Hz, ranging from -24 dB to +12 dB",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "12",
                         "min": "-24",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "band0": {
                         "blurb": "gain for the frequency band 100 Hz, ranging from -24.0 to +12.0",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "12",
                         "min": "-24",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "band1": {
                         "blurb": "gain for the frequency band 1100 Hz, ranging from -24.0 to +12.0",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "12",
                         "min": "-24",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "band2": {
                         "blurb": "gain for the frequency band 11 kHz, ranging from -24.0 to +12.0",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "12",
                         "min": "-24",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "num-bands": {
                         "blurb": "number of different bands to use",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "10",
                         "max": "64",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "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": {
                     "blocksize": {
                         "blurb": "Blocksize in samples",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4608",
                         "max": "65535",
                         "min": "16",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "escape-coding": {
                         "blurb": "search for escape codes in the entropy coding stage for slightly better compression",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "exhaustive-model-search": {
                         "blurb": "do exhaustive search of LP coefficient quantization (expensive!)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "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
                     },
                     "loose-mid-side-stereo": {
                         "blurb": "Loose mid side stereo",
+                        "conditionally-available": false,
                         "construct": true,
                         "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": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-lpc-order": {
                         "blurb": "Max LPC order; 0 => use only fixed predictors",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "32",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "max-residual-partition-order": {
                         "blurb": "Max residual partition order (above 4 doesn't usually help much)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "16",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "mid-side-stereo": {
                         "blurb": "Do mid side stereo (only for stereo input)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "min-residual-partition-order": {
                         "blurb": "Min residual partition order (above 4 doesn't usually help much)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "16",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "padding": {
                         "blurb": "Write a PADDING block with this length in bytes",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qlp-coeff-prec-search": {
                         "blurb": "false = use qlp_coeff_precision, true = search around qlp_coeff_precision, take best",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qlp-coeff-precision": {
                         "blurb": "Precision in bits of quantized linear-predictor coefficients; 0 = automatic",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "32",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "quality": {
                         "blurb": "Speed versus compression tradeoff",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "5 (5)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstFlacEncQuality",
                         "writable": true
                     },
                     "rice-parameter-search-dist": {
                         "blurb": "0 = try only calc'd parameter k; else try all [k-dist..k+dist] parameters, use best",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "seekpoints": {
                         "blurb": "Add SEEKTABLE metadata (if > 0, number of entries, if < 0, interval in sec)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-10",
                         "max": "2147483647",
                         "min": "-2147483647",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "streamable-subset": {
                         "blurb": "true to limit encoder to generating a Subset stream, else false",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "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
                 "properties": {
                     "encoder": {
                         "blurb": "The value of encoder in the meta packet.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "GStreamer 1.17.0.1 FLV muxer",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "latency": {
                         "blurb": "Additional latency in live mode to allow upstream to take longer to produce buffers for the current position (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
                     },
                     "metadatacreator": {
                         "blurb": "The value of metadatacreator in the meta packet.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "GStreamer 1.17.0.1 FLV muxer",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "min-upstream-latency": {
                         "blurb": "When sources with a higher latency are expected to be plugged in dynamically after the aggregator has started playing, this allows overriding the minimum latency reported by the initial source(s). This is only taken into account when larger than the actually reported minimum latency. (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
                     },
                     "skip-backwards-streams": {
                         "blurb": "If set to true, streams that go backwards related to the other stream will have buffers dropped until they reach the correct timestamp",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "start-time": {
                         "blurb": "Start time to use if start-time-selection=set",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "start-time-selection": {
                         "blurb": "Decides which start time is output",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "zero (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAggregatorStartTimeSelection",
                         "writable": true
                     },
                     "streamable": {
                         "blurb": "If set to true, the output should be as if it is to be streamed and hence no indexes written or duration written.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "emit-signals": {
                         "blurb": "Send signals to signal data consumption",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "long-name": "GdkPixbuf Overlay",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw:\n         format: { I420, YV12, YUY2, UYVY, AYUV, VUYA, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, Y410, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, BGR10A2_LE, RGB10A2_LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, P012_BE, P012_LE, I420_12BE, I420_12LE, Y212_BE, Y212_LE, I422_12BE, I422_12LE, Y412_BE, Y412_LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40, Y444_16BE, Y444_16LE, P016_BE, P016_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw:\n         format: { AYUV64, ARGB64, GBRA_12LE, GBRA_12BE, Y412_LE, Y412_BE, A444_10LE, GBRA_10LE, A444_10BE, GBRA_10BE, A422_10LE, A422_10BE, A420_10LE, A420_10BE, RGB10A2_LE, BGR10A2_LE, Y410, GBRA, ABGR, VUYA, BGRA, AYUV, ARGB, RGBA, A420, Y444_16LE, Y444_16BE, v216, P016_LE, P016_BE, Y444_12LE, GBR_12LE, Y444_12BE, GBR_12BE, I422_12LE, I422_12BE, Y212_LE, Y212_BE, I420_12LE, I420_12BE, P012_LE, P012_BE, Y444_10LE, GBR_10LE, Y444_10BE, GBR_10BE, r210, I422_10LE, I422_10BE, NV16_10LE32, Y210, v210, UYVP, I420_10LE, I420_10BE, P010_10LE, NV12_10LE32, NV12_10LE40, P010_10BE, Y444, GBR, NV24, xBGR, BGRx, xRGB, RGBx, BGR, IYU2, v308, RGB, Y42B, NV61, NV16, VYUY, UYVY, YVYU, YUY2, I420, YV12, NV21, NV12, NV12_64Z32, Y41B, IYU1, YVU9, YUV9, RGB16, BGR16, RGB15, BGR15, RGB8P, GRAY16_LE, GRAY16_BE, GRAY10_LE32, GRAY8 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-raw:\n         format: { I420, YV12, YUY2, UYVY, AYUV, VUYA, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, Y410, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, BGR10A2_LE, RGB10A2_LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, P012_BE, P012_LE, I420_12BE, I420_12LE, Y212_BE, Y212_LE, I422_12BE, I422_12LE, Y412_BE, Y412_LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40, Y444_16BE, Y444_16LE, P016_BE, P016_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw:\n         format: { AYUV64, ARGB64, GBRA_12LE, GBRA_12BE, Y412_LE, Y412_BE, A444_10LE, GBRA_10LE, A444_10BE, GBRA_10BE, A422_10LE, A422_10BE, A420_10LE, A420_10BE, RGB10A2_LE, BGR10A2_LE, Y410, GBRA, ABGR, VUYA, BGRA, AYUV, ARGB, RGBA, A420, Y444_16LE, Y444_16BE, v216, P016_LE, P016_BE, Y444_12LE, GBR_12LE, Y444_12BE, GBR_12BE, I422_12LE, I422_12BE, Y212_LE, Y212_BE, I420_12LE, I420_12BE, P012_LE, P012_BE, Y444_10LE, GBR_10LE, Y444_10BE, GBR_10BE, r210, I422_10LE, I422_10BE, NV16_10LE32, Y210, v210, UYVP, I420_10LE, I420_10BE, P010_10LE, NV12_10LE32, NV12_10LE40, P010_10BE, Y444, GBR, NV24, xBGR, BGRx, xRGB, RGBx, BGR, IYU2, v308, RGB, Y42B, NV61, NV16, VYUY, UYVY, YVYU, YUY2, I420, YV12, NV21, NV12, NV12_64Z32, Y41B, IYU1, YVU9, YUV9, RGB16, BGR16, RGB15, BGR15, RGB8P, GRAY16_LE, GRAY16_BE, GRAY10_LE32, GRAY8 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                         "direction": "src",
                         "presence": "always"
                     }
                 "properties": {
                     "alpha": {
                         "blurb": "Global alpha of overlay image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "1",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "coef-x": {
                         "blurb": "Horizontal offset of overlay image in fractions of video image width, from top-left corner of video image (absolute positioning)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "1",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "coef-y": {
                         "blurb": "Vertical offset of overlay image in fractions of video image height, from top-left corner of video image (absolute positioning)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "1",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "location": {
                         "blurb": "Location of image file to overlay",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "offset-x": {
                         "blurb": "For positive value, horizontal offset of overlay image in pixels from left of video image. For negative value, horizontal offset of overlay image in pixels from right of video image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "offset-y": {
                         "blurb": "For positive value, vertical offset of overlay image in pixels from top of video image. For negative value, vertical offset of overlay image in pixels from bottom of video image",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "overlay-height": {
                         "blurb": "Height of overlay image in pixels (0 = same as overlay image)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "overlay-width": {
                         "blurb": "Width of overlay image in pixels (0 = same as overlay image)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "pixbuf": {
                         "blurb": "GdkPixbuf object to render",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GdkPixbuf",
                         "writable": true
                     },
                     "positioning-mode": {
                         "blurb": "Positioning mode of offset-x and offset-y properties",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "pixels-relative-to-edges (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstGdkPixbufPositioningMode",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "relative-x": {
                         "blurb": "Horizontal offset of overlay image in fractions of video image width, from top-left corner of video image (in relative positioning)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "1",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "relative-y": {
                         "blurb": "Vertical offset of overlay image in fractions of video image height, from top-left corner of video image (in relative positioning)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "1",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                 "properties": {
                     "async": {
                         "blurb": "Go asynchronously to PAUSED",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "blocksize": {
                         "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4096",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "enable-last-sample": {
                         "blurb": "Enable the last-sample property",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "last-pixbuf": {
                         "blurb": "Last GdkPixbuf object rendered",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GdkPixbuf",
                         "writable": false
                     },
                     "last-sample": {
                         "blurb": "The last sample received in the sink",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstSample",
                         "writable": false
                     },
                     "max-bitrate": {
                         "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "max-lateness": {
                         "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "post-messages": {
                         "blurb": "Whether to post messages containing pixbufs on the bus",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "processing-deadline": {
                         "blurb": "Maximum processing time for a buffer in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "15000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Generate Quality-of-Service events upstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "render-delay": {
                         "blurb": "Additional render delay of the sink 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
                     },
                     "show-preroll-frame": {
                         "blurb": "Whether to render video frames during preroll",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Sink Statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-gst-base-sink-stats, average-rate=(double)0, dropped=(guint64)0, rendered=(guint64)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "sync": {
                         "blurb": "Sync on the clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "throttle-time": {
                         "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "ts-offset": {
                         "blurb": "Timestamp offset in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "shade-amount": {
                         "blurb": "Shading color to use (big-endian ARGB)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "657930",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "shader": {
                         "blurb": "Shader function to apply on each frame",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "fade (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAudioVisualizerShader",
                         "writable": true
                 "properties": {
                     "shade-amount": {
                         "blurb": "Shading color to use (big-endian ARGB)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "657930",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "shader": {
                         "blurb": "Shader function to apply on each frame",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "fade (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAudioVisualizerShader",
                         "writable": true
                 "properties": {
                     "async": {
                         "blurb": "Go asynchronously to PAUSED",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "blocksize": {
                         "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4096",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "enable-last-sample": {
                         "blurb": "Enable the last-sample property",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "force-aspect-ratio": {
                         "blurb": "When enabled, scaling will respect original aspect ratio",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ignore-alpha": {
                         "blurb": "When enabled, alpha will be ignored and converted to black",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "last-sample": {
                         "blurb": "The last sample received in the sink",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstSample",
                         "writable": false
                     },
                     "max-bitrate": {
                         "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "max-lateness": {
                         "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "5000000",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "pixel-aspect-ratio": {
                         "blurb": "The pixel aspect ratio of the device",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0/1",
                         "max": "2147483647/1",
                         "min": "0/1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstFraction",
                         "writable": true
                     },
                     "processing-deadline": {
                         "blurb": "Maximum processing time for a buffer in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "15000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Generate Quality-of-Service events upstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "render-delay": {
                         "blurb": "Additional render delay of the sink 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
                     },
                     "show-preroll-frame": {
                         "blurb": "Whether to render video frames during preroll",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Sink Statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-gst-base-sink-stats, average-rate=(double)0, dropped=(guint64)0, rendered=(guint64)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "sync": {
                         "blurb": "Sync on the clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "throttle-time": {
                         "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "ts-offset": {
                         "blurb": "Timestamp offset in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "widget": {
                         "blurb": "The GtkWidget to place in the widget hierarchy (must only be get from the GTK main thread)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GtkWidget",
                         "writable": false
                 "properties": {
                     "async": {
                         "blurb": "Go asynchronously to PAUSED",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "blocksize": {
                         "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4096",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "enable-last-sample": {
                         "blurb": "Enable the last-sample property",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "force-aspect-ratio": {
                         "blurb": "When enabled, scaling will respect original aspect ratio",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ignore-alpha": {
                         "blurb": "When enabled, alpha will be ignored and converted to black",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "last-sample": {
                         "blurb": "The last sample received in the sink",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstSample",
                         "writable": false
                     },
                     "max-bitrate": {
                         "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "max-lateness": {
                         "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "5000000",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "pixel-aspect-ratio": {
                         "blurb": "The pixel aspect ratio of the device",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0/1",
                         "max": "2147483647/1",
                         "min": "0/1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstFraction",
                         "writable": true
                     },
                     "processing-deadline": {
                         "blurb": "Maximum processing time for a buffer in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "15000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Generate Quality-of-Service events upstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "render-delay": {
                         "blurb": "Additional render delay of the sink 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
                     },
                     "show-preroll-frame": {
                         "blurb": "Whether to render video frames during preroll",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Sink Statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-gst-base-sink-stats, average-rate=(double)0, dropped=(guint64)0, rendered=(guint64)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "sync": {
                         "blurb": "Sync on the clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "throttle-time": {
                         "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "ts-offset": {
                         "blurb": "Timestamp offset in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "widget": {
                         "blurb": "The GtkWidget to place in the widget hierarchy (must only be get from the GTK main thread)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GtkWidget",
                         "writable": false
                 "properties": {
                     "prefer-v1": {
                         "blurb": "Prefer tags from ID3v1 tag at end of file when both ID3v1 and ID3v2 tags are present",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "allow-replace": {
                         "blurb": "Allow replacing the input buffer and always output the latest",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "num-buffers": {
                         "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "long-name": "Audio deinterleaver",
                 "pad-templates": {
                     "sink": {
-                        "caps": "audio/x-raw:\n         format: { S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         layout: interleaved\n",
+                        "caps": "audio/x-raw:\n         format: { F64LE, F64BE, F32LE, F32BE, S32LE, S32BE, U32LE, U32BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, S16LE, S16BE, U16LE, U16BE, S8, U8 }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         layout: interleaved\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src_%%u": {
-                        "caps": "audio/x-raw:\n         format: { S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }\n           rate: [ 1, 2147483647 ]\n       channels: 1\n         layout: { (string)non-interleaved, (string)interleaved }\n",
+                        "caps": "audio/x-raw:\n         format: { F64LE, F64BE, F32LE, F32BE, S32LE, S32BE, U32LE, U32BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, S16LE, S16BE, U16LE, U16BE, S8, U8 }\n           rate: [ 1, 2147483647 ]\n       channels: 1\n         layout: { (string)non-interleaved, (string)interleaved }\n",
                         "direction": "src",
                         "presence": "sometimes"
                     }
                 "properties": {
                     "keep-positions": {
                         "blurb": "Keep the original channel positions on the output buffers",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "long-name": "Audio interleaver",
                 "pad-templates": {
                     "sink_%%u": {
-                        "caps": "audio/x-raw:\n           rate: [ 1, 2147483647 ]\n       channels: 1\n         format: { S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }\n         layout: { (string)non-interleaved, (string)interleaved }\n",
+                        "caps": "audio/x-raw:\n           rate: [ 1, 2147483647 ]\n       channels: 1\n         format: { F64LE, F64BE, F32LE, F32BE, S32LE, S32BE, U32LE, U32BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, S16LE, S16BE, U16LE, U16BE, S8, U8 }\n         layout: { (string)non-interleaved, (string)interleaved }\n",
                         "direction": "sink",
                         "presence": "request"
                     },
                     "src": {
-                        "caps": "audio/x-raw:\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         format: { S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }\n         layout: interleaved\n",
+                        "caps": "audio/x-raw:\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         format: { F64LE, F64BE, F32LE, F32BE, S32LE, S32BE, U32LE, U32BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, S16LE, S16BE, U16LE, U16BE, S8, U8 }\n         layout: interleaved\n",
                         "direction": "src",
                         "presence": "always"
                     }
                 "properties": {
                     "channel-positions": {
                         "blurb": "Channel positions used on the output",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GValueArray",
                         "writable": true
                     },
                     "channel-positions-from-input": {
                         "blurb": "Take channel positions from the input",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "dts-method": {
                         "blurb": "Method to determine DTS time (DEPRECATED)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "reorder (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstQTMuxDtsMethods",
                         "writable": true
                     },
                     "faststart": {
                         "blurb": "If the file should be formatted for faststart (headers first)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "faststart-file": {
                         "blurb": "File that will be used temporarily to store data from the stream when creating a faststart file. If null a filepath will be created automatically",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "force-chunks": {
                         "blurb": "Force multiple chunks to be created even for single-stream files",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "force-create-timecode-trak": {
                         "blurb": "Create a timecode trak even in unsupported flavors",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "fragment-duration": {
                         "blurb": "Fragment durations in ms (produce a fragmented file if > 0)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "interleave-bytes": {
                         "blurb": "Interleave between streams in bytes",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "interleave-time": {
                         "blurb": "Interleave between streams in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "250000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "latency": {
                         "blurb": "Additional latency in live mode to allow upstream to take longer to produce buffers for the current position (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
                     },
                     "max-raw-audio-drift": {
                         "blurb": "Maximum allowed drift of raw audio samples vs. timestamps in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "min-upstream-latency": {
                         "blurb": "When sources with a higher latency are expected to be plugged in dynamically after the aggregator has started playing, this allows overriding the minimum latency reported by the initial source(s). This is only taken into account when larger than the actually reported minimum latency. (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
                     },
                     "moov-recovery-file": {
                         "blurb": "File to be used to store data for moov atom making movie file recovery possible in case of a crash during muxing. Null for disabled. (Experimental)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "movie-timescale": {
                         "blurb": "Timescale to use in the movie (units per second, 0 == default)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "presentation-time": {
                         "blurb": "Calculate and include presentation/composition time (in addition to decoding time)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "reserved-bytes-per-sec": {
                         "blurb": "Multiplier for converting reserved-max-duration into bytes of header to reserve, per second, per track",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "550",
                         "max": "10000",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "reserved-duration-remaining": {
                         "blurb": "Reports the approximate amount of remaining moov header space reserved using reserved-max-duration",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": false
                     },
                     "reserved-max-duration": {
                         "blurb": "When set to a value > 0, reserves space for index tables at the beginning of the file.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "reserved-moov-update-period": {
                         "blurb": "When used with reserved-max-duration, periodically updates the index tables with information muxed so far.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "reserved-prefill": {
                         "blurb": "Prefill samples table of reserved duration",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "start-gap-threshold": {
                         "blurb": "Threshold for creating an edit list for gaps at the start 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
                     },
                     "start-time": {
                         "blurb": "Start time to use if start-time-selection=set",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "start-time-selection": {
                         "blurb": "Decides which start time is output",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "zero (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAggregatorStartTimeSelection",
                         "writable": true
                     },
                     "streamable": {
                         "blurb": "If set to true, the output should be as if it is to be streamed and hence no indexes written or duration written. (DEPRECATED, only valid for fragmented MP4)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "trak-timescale": {
                         "blurb": "Timescale to use for the tracks (units per second, 0 is automatic)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "dts-method": {
                         "blurb": "Method to determine DTS time (DEPRECATED)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "reorder (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstQTMuxDtsMethods",
                         "writable": true
                     },
                     "faststart": {
                         "blurb": "If the file should be formatted for faststart (headers first)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "faststart-file": {
                         "blurb": "File that will be used temporarily to store data from the stream when creating a faststart file. If null a filepath will be created automatically",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "force-chunks": {
                         "blurb": "Force multiple chunks to be created even for single-stream files",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "force-create-timecode-trak": {
                         "blurb": "Create a timecode trak even in unsupported flavors",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "fragment-duration": {
                         "blurb": "Fragment durations in ms (produce a fragmented file if > 0)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2000",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "interleave-bytes": {
                         "blurb": "Interleave between streams in bytes",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "interleave-time": {
                         "blurb": "Interleave between streams in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "250000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "latency": {
                         "blurb": "Additional latency in live mode to allow upstream to take longer to produce buffers for the current position (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
                     },
                     "max-raw-audio-drift": {
                         "blurb": "Maximum allowed drift of raw audio samples vs. timestamps in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "min-upstream-latency": {
                         "blurb": "When sources with a higher latency are expected to be plugged in dynamically after the aggregator has started playing, this allows overriding the minimum latency reported by the initial source(s). This is only taken into account when larger than the actually reported minimum latency. (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
                     },
                     "moov-recovery-file": {
                         "blurb": "File to be used to store data for moov atom making movie file recovery possible in case of a crash during muxing. Null for disabled. (Experimental)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "movie-timescale": {
                         "blurb": "Timescale to use in the movie (units per second, 0 == default)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "presentation-time": {
                         "blurb": "Calculate and include presentation/composition time (in addition to decoding time)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "reserved-bytes-per-sec": {
                         "blurb": "Multiplier for converting reserved-max-duration into bytes of header to reserve, per second, per track",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "550",
                         "max": "10000",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "reserved-duration-remaining": {
                         "blurb": "Reports the approximate amount of remaining moov header space reserved using reserved-max-duration",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": false
                     },
                     "reserved-max-duration": {
                         "blurb": "When set to a value > 0, reserves space for index tables at the beginning of the file.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "reserved-moov-update-period": {
                         "blurb": "When used with reserved-max-duration, periodically updates the index tables with information muxed so far.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "reserved-prefill": {
                         "blurb": "Prefill samples table of reserved duration",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "start-gap-threshold": {
                         "blurb": "Threshold for creating an edit list for gaps at the start 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
                     },
                     "start-time": {
                         "blurb": "Start time to use if start-time-selection=set",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "start-time-selection": {
                         "blurb": "Decides which start time is output",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "zero (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAggregatorStartTimeSelection",
                         "writable": true
                     },
                     "streamable": {
                         "blurb": "If set to true, the output should be as if it is to be streamed and hence no indexes written or duration written.",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "trak-timescale": {
                         "blurb": "Timescale to use for the tracks (units per second, 0 is automatic)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "dts-method": {
                         "blurb": "Method to determine DTS time (DEPRECATED)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "reorder (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstQTMuxDtsMethods",
                         "writable": true
                     },
                     "faststart": {
                         "blurb": "If the file should be formatted for faststart (headers first)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "faststart-file": {
                         "blurb": "File that will be used temporarily to store data from the stream when creating a faststart file. If null a filepath will be created automatically",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "force-chunks": {
                         "blurb": "Force multiple chunks to be created even for single-stream files",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "force-create-timecode-trak": {
                         "blurb": "Create a timecode trak even in unsupported flavors",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "fragment-duration": {
                         "blurb": "Fragment durations in ms (produce a fragmented file if > 0)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "interleave-bytes": {
                         "blurb": "Interleave between streams in bytes",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "interleave-time": {
                         "blurb": "Interleave between streams in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "250000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "latency": {
                         "blurb": "Additional latency in live mode to allow upstream to take longer to produce buffers for the current position (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
                     },
                     "max-raw-audio-drift": {
                         "blurb": "Maximum allowed drift of raw audio samples vs. timestamps in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "min-upstream-latency": {
                         "blurb": "When sources with a higher latency are expected to be plugged in dynamically after the aggregator has started playing, this allows overriding the minimum latency reported by the initial source(s). This is only taken into account when larger than the actually reported minimum latency. (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
                     },
                     "moov-recovery-file": {
                         "blurb": "File to be used to store data for moov atom making movie file recovery possible in case of a crash during muxing. Null for disabled. (Experimental)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "movie-timescale": {
                         "blurb": "Timescale to use in the movie (units per second, 0 == default)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "presentation-time": {
                         "blurb": "Calculate and include presentation/composition time (in addition to decoding time)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "reserved-bytes-per-sec": {
                         "blurb": "Multiplier for converting reserved-max-duration into bytes of header to reserve, per second, per track",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "550",
                         "max": "10000",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "reserved-duration-remaining": {
                         "blurb": "Reports the approximate amount of remaining moov header space reserved using reserved-max-duration",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": false
                     },
                     "reserved-max-duration": {
                         "blurb": "When set to a value > 0, reserves space for index tables at the beginning of the file.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "reserved-moov-update-period": {
                         "blurb": "When used with reserved-max-duration, periodically updates the index tables with information muxed so far.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "reserved-prefill": {
                         "blurb": "Prefill samples table of reserved duration",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "start-gap-threshold": {
                         "blurb": "Threshold for creating an edit list for gaps at the start 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
                     },
                     "start-time": {
                         "blurb": "Start time to use if start-time-selection=set",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "start-time-selection": {
                         "blurb": "Decides which start time is output",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "zero (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAggregatorStartTimeSelection",
                         "writable": true
                     },
                     "streamable": {
                         "blurb": "If set to true, the output should be as if it is to be streamed and hence no indexes written or duration written. (DEPRECATED, only valid for fragmented MP4)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "trak-timescale": {
                         "blurb": "Timescale to use for the tracks (units per second, 0 is automatic)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "dts-method": {
                         "blurb": "Method to determine DTS time (DEPRECATED)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "reorder (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstQTMuxDtsMethods",
                         "writable": true
                     },
                     "faststart": {
                         "blurb": "If the file should be formatted for faststart (headers first)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "faststart-file": {
                         "blurb": "File that will be used temporarily to store data from the stream when creating a faststart file. If null a filepath will be created automatically",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "force-chunks": {
                         "blurb": "Force multiple chunks to be created even for single-stream files",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "force-create-timecode-trak": {
                         "blurb": "Create a timecode trak even in unsupported flavors",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "fragment-duration": {
                         "blurb": "Fragment durations in ms (produce a fragmented file if > 0)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "interleave-bytes": {
                         "blurb": "Interleave between streams in bytes",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "interleave-time": {
                         "blurb": "Interleave between streams in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "250000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "latency": {
                         "blurb": "Additional latency in live mode to allow upstream to take longer to produce buffers for the current position (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
                     },
                     "max-raw-audio-drift": {
                         "blurb": "Maximum allowed drift of raw audio samples vs. timestamps in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "min-upstream-latency": {
                         "blurb": "When sources with a higher latency are expected to be plugged in dynamically after the aggregator has started playing, this allows overriding the minimum latency reported by the initial source(s). This is only taken into account when larger than the actually reported minimum latency. (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
                     },
                     "moov-recovery-file": {
                         "blurb": "File to be used to store data for moov atom making movie file recovery possible in case of a crash during muxing. Null for disabled. (Experimental)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "movie-timescale": {
                         "blurb": "Timescale to use in the movie (units per second, 0 == default)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "presentation-time": {
                         "blurb": "Calculate and include presentation/composition time (in addition to decoding time)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "reserved-bytes-per-sec": {
                         "blurb": "Multiplier for converting reserved-max-duration into bytes of header to reserve, per second, per track",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "550",
                         "max": "10000",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "reserved-duration-remaining": {
                         "blurb": "Reports the approximate amount of remaining moov header space reserved using reserved-max-duration",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": false
                     },
                     "reserved-max-duration": {
                         "blurb": "When set to a value > 0, reserves space for index tables at the beginning of the file.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "reserved-moov-update-period": {
                         "blurb": "When used with reserved-max-duration, periodically updates the index tables with information muxed so far.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "reserved-prefill": {
                         "blurb": "Prefill samples table of reserved duration",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "start-gap-threshold": {
                         "blurb": "Threshold for creating an edit list for gaps at the start 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
                     },
                     "start-time": {
                         "blurb": "Start time to use if start-time-selection=set",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "start-time-selection": {
                         "blurb": "Decides which start time is output",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "zero (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAggregatorStartTimeSelection",
                         "writable": true
                     },
                     "streamable": {
                         "blurb": "If set to true, the output should be as if it is to be streamed and hence no indexes written or duration written. (DEPRECATED, only valid for fragmented MP4)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "trak-timescale": {
                         "blurb": "Timescale to use for the tracks (units per second, 0 is automatic)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "async-handling": {
                         "blurb": "The bin will handle Asynchronous state changes",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "auto-flush-bus": {
                         "blurb": "Whether to automatically flush the pipeline's bus when going from READY into NULL state",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "broken-input": {
                         "blurb": "Path to broken input file. (If qtmux was on faststart mode, this file is the faststart file)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "delay": {
                         "blurb": "Expected delay needed for elements to spin up to PLAYING 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
                     },
                     "faststart-mode": {
                         "blurb": "If the broken input is from faststart mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "fixed-output": {
                         "blurb": "Path to write the fixed file to (used as output)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "latency": {
                         "blurb": "Latency to configure on the pipeline",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "message-forward": {
                         "blurb": "Forwards all children messages",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "recovery-input": {
                         "blurb": "Path to recovery file (used as input)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                 "properties": {
                     "dts-method": {
                         "blurb": "Method to determine DTS time (DEPRECATED)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "reorder (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstQTMuxDtsMethods",
                         "writable": true
                     },
                     "faststart": {
                         "blurb": "If the file should be formatted for faststart (headers first)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "faststart-file": {
                         "blurb": "File that will be used temporarily to store data from the stream when creating a faststart file. If null a filepath will be created automatically",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "force-chunks": {
                         "blurb": "Force multiple chunks to be created even for single-stream files",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "force-create-timecode-trak": {
                         "blurb": "Create a timecode trak even in unsupported flavors",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "fragment-duration": {
                         "blurb": "Fragment durations in ms (produce a fragmented file if > 0)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "interleave-bytes": {
                         "blurb": "Interleave between streams in bytes",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "interleave-time": {
                         "blurb": "Interleave between streams in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "250000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "latency": {
                         "blurb": "Additional latency in live mode to allow upstream to take longer to produce buffers for the current position (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
                     },
                     "max-raw-audio-drift": {
                         "blurb": "Maximum allowed drift of raw audio samples vs. timestamps in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "min-upstream-latency": {
                         "blurb": "When sources with a higher latency are expected to be plugged in dynamically after the aggregator has started playing, this allows overriding the minimum latency reported by the initial source(s). This is only taken into account when larger than the actually reported minimum latency. (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
                     },
                     "moov-recovery-file": {
                         "blurb": "File to be used to store data for moov atom making movie file recovery possible in case of a crash during muxing. Null for disabled. (Experimental)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "movie-timescale": {
                         "blurb": "Timescale to use in the movie (units per second, 0 == default)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "presentation-time": {
                         "blurb": "Calculate and include presentation/composition time (in addition to decoding time)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "reserved-bytes-per-sec": {
                         "blurb": "Multiplier for converting reserved-max-duration into bytes of header to reserve, per second, per track",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "550",
                         "max": "10000",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "reserved-duration-remaining": {
                         "blurb": "Reports the approximate amount of remaining moov header space reserved using reserved-max-duration",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": false
                     },
                     "reserved-max-duration": {
                         "blurb": "When set to a value > 0, reserves space for index tables at the beginning of the file.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "reserved-moov-update-period": {
                         "blurb": "When used with reserved-max-duration, periodically updates the index tables with information muxed so far.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "reserved-prefill": {
                         "blurb": "Prefill samples table of reserved duration",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "start-gap-threshold": {
                         "blurb": "Threshold for creating an edit list for gaps at the start 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
                     },
                     "start-time": {
                         "blurb": "Start time to use if start-time-selection=set",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "start-time-selection": {
                         "blurb": "Decides which start time is output",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "zero (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAggregatorStartTimeSelection",
                         "writable": true
                     },
                     "streamable": {
                         "blurb": "If set to true, the output should be as if it is to be streamed and hence no indexes written or duration written. (DEPRECATED, only valid for fragmented MP4)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "trak-timescale": {
                         "blurb": "Timescale to use for the tracks (units per second, 0 is automatic)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "emit-signals": {
                         "blurb": "Send signals to signal data consumption",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "trak-timescale": {
                         "blurb": "Timescale to use for this pad's trak (units per second, 0 is automatic)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "alignment-threshold": {
                         "blurb": "Timestamp alignment threshold in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "18446744073709551614",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "async": {
                         "blurb": "Go asynchronously to PAUSED",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "blocksize": {
                         "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4096",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "buffer-time": {
                         "blurb": "Size of audio buffer in microseconds, this is the minimum latency that the sink reports",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "9223372036854775807",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "can-activate-pull": {
                         "blurb": "Allow pull-based scheduling",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "client": {
                         "blurb": "Handle for jack client",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "ready",
                         "readable": true,
                         "type": "JackClient",
                         "writable": true
                     },
                     "client-name": {
                         "blurb": "The client name of the Jack instance (NULL = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "connect": {
                         "blurb": "Specify how the output ports will be connected",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstJackConnect",
                         "writable": true
                     },
                     "discont-wait": {
                         "blurb": "Window of time in nanoseconds to wait before creating a discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1000000000",
                         "max": "18446744073709551614",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "drift-tolerance": {
                         "blurb": "Tolerance for clock drift in microseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000",
                         "max": "9223372036854775807",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "enable-last-sample": {
                         "blurb": "Enable the last-sample property",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "last-sample": {
                         "blurb": "The last sample received in the sink",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstSample",
                         "writable": false
                     },
                     "latency-time": {
                         "blurb": "The minimum amount of data to write in each iteration in microseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "10000",
                         "max": "9223372036854775807",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-bitrate": {
                         "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "max-lateness": {
                         "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "port-pattern": {
                         "blurb": "A pattern to select which ports to connect to (NULL = first physical ports)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "processing-deadline": {
                         "blurb": "Maximum processing time for a buffer in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "20000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "provide-clock": {
                         "blurb": "Provide a clock to be used as the global pipeline clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Generate Quality-of-Service events upstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "render-delay": {
                         "blurb": "Additional render delay of the sink 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
                     },
                     "server": {
                         "blurb": "The Jack server to connect to (NULL = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "slave-method": {
                         "blurb": "Algorithm used to match the rate of the masterclock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "skew (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAudioBaseSinkSlaveMethod",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Sink Statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-gst-base-sink-stats, average-rate=(double)0, dropped=(guint64)0, rendered=(guint64)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "sync": {
                         "blurb": "Sync on the clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "throttle-time": {
                         "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "transport": {
                         "blurb": "Jack transport behaviour of the client",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstJackTransport",
                         "writable": true
                     },
                     "ts-offset": {
                         "blurb": "Timestamp offset in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "actual-buffer-time": {
                         "blurb": "Actual configured size of audio buffer in microseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": false
                     },
                     "actual-latency-time": {
                         "blurb": "Actual configured audio latency in microseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": false
                     },
                     "blocksize": {
                         "blurb": "Size in bytes to read per buffer (-1 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "buffer-time": {
                         "blurb": "Size of audio buffer in microseconds. This is the maximum amount of data that is buffered in the device and the maximum latency that the source reports. This value might be ignored by the element if necessary; see \"actual-buffer-time\"",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "9223372036854775807",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "client": {
                         "blurb": "Handle for jack client",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "ready",
                         "readable": true,
                         "type": "JackClient",
                         "writable": true
                     },
                     "client-name": {
                         "blurb": "The client name of the Jack instance (NULL = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "connect": {
                         "blurb": "Specify how the input ports will be connected",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstJackConnect",
                         "writable": true
                     },
                     "do-timestamp": {
                         "blurb": "Apply current stream time to buffers",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "latency-time": {
                         "blurb": "The minimum amount of data to read in each iteration in microseconds. This is the minimum latency that the source reports. This value might be ignored by the element if necessary; see \"actual-latency-time\"",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "10000",
                         "max": "9223372036854775807",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "num-buffers": {
                         "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "port-pattern": {
                         "blurb": "A pattern to select which ports to connect to (NULL = first physical ports)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "provide-clock": {
                         "blurb": "Provide a clock to be used as the global pipeline clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "server": {
                         "blurb": "The Jack server to connect to (NULL = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "slave-method": {
                         "blurb": "Algorithm used to match the rate of the masterclock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "skew (2)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAudioBaseSrcSlaveMethod",
                         "writable": true
                     },
                     "transport": {
                         "blurb": "Jack transport behaviour of the client",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstJackTransport",
                         "writable": true
                     },
                     "typefind": {
                         "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "idct-method": {
                         "blurb": "The IDCT algorithm to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ifast (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstIDCTMethod",
                         "writable": true
                     },
                     "max-errors": {
                         "blurb": "(Deprecated) Error out after receiving N consecutive decoding errors (-1 = never fail, 0 = automatic, 1 = fail on first error)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "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": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "idct-method": {
                         "blurb": "The IDCT algorithm to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ifast (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstIDCTMethod",
                         "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
+                    },
                     "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
                     },
                     "quality": {
                         "blurb": "Quality of encoding",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "85",
                         "max": "100",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "snapshot": {
                         "blurb": "Send EOS after encoding a frame, useful for snapshots",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "bitrate": {
                         "blurb": "Bitrate in kbit/sec (Only valid if target is bitrate, for CBR one of 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256 or 320)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128",
                         "max": "320",
                         "min": "8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cbr": {
                         "blurb": "Enforce constant bitrate encoding (Only valid if target is bitrate)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "encoding-engine-quality": {
                         "blurb": "Quality/speed of the encoding engine, this does not affect the bitrate!",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "standard (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLameMP3EncEncodingEngineQuality",
                         "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
                     },
                     "mono": {
                         "blurb": "Enforce mono encoding",
+                        "conditionally-available": false,
                         "construct": true,
                         "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
                     },
                     "quality": {
                         "blurb": "VBR Quality from 0 to 10, 0 being the best (Only valid if target is quality)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4",
-                        "max": "9,999",
+                        "max": "9.999",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "target": {
                         "blurb": "Optimize for quality or bitrate",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "quality (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstLameMP3EncTarget",
                         "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
                 "properties": {
                     "interval": {
                         "blurb": "Interval of time between message posts (in nanoseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100000000",
                         "max": "18446744073709551615",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "message": {
                         "blurb": "Post a 'level' message for each passed interval (deprecated, use the post-messages property instead)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "peak-falloff": {
                         "blurb": "Decay rate of decay peak after TTL (in dB/sec)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "10",
                         "max": "1.79769e+308",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "peak-ttl": {
                         "blurb": "Time To Live of decay peak before it falls back (in nanoseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "300000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "post-messages": {
                         "blurb": "Whether to post a 'level' element message on the bus for each passed interval",
+                        "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",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "max-backtrack-distance": {
                         "blurb": "Maximum backtrack distance in seconds when seeking without and index in pull mode and search for a keyframe (0 = disable backtracking).",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "30",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "max-gap-time": {
                         "blurb": "The demuxer sends out segment events for skipping gaps longer than this (0 = disabled).",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2000000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                 "properties": {
                     "creation-time": {
                         "blurb": "Date and time of creation. This will be used for the DateUTC field. NULL means that the current time will be used.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GDateTime",
                         "writable": true
                     },
                     "max-cluster-duration": {
                         "blurb": "A new cluster will be created if its duration exceeds this value. 0 means no maximum duration.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "65535000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-cluster-duration": {
                         "blurb": "Desired cluster duration as nanoseconds. A new cluster will be created irrespective of this property if a force key unit event is received. 0 means create a new cluster for each video keyframe or for each audio buffer in audio only streams.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "500000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-index-interval": {
                         "blurb": "An index entry is created every so many nanoseconds.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "offset-to-zero": {
                         "blurb": "Offsets all streams so that the earliest stream starts at 0.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "streamable": {
                         "blurb": "If set to true, the output should be as if it is to be streamed and hence no indexes written or duration written.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "timecodescale": {
                         "blurb": "TimecodeScale used to calculate the Raw Timecode of a Block",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1000000",
                         "max": "1000000000",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "version": {
                         "blurb": "This parameter determines what Matroska features can be used.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "2",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "writing-app": {
                         "blurb": "The name the application that creates the matroska file.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "GStreamer Matroska muxer",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                 "properties": {
                     "creation-time": {
                         "blurb": "Date and time of creation. This will be used for the DateUTC field. NULL means that the current time will be used.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GDateTime",
                         "writable": true
                     },
                     "max-cluster-duration": {
                         "blurb": "A new cluster will be created if its duration exceeds this value. 0 means no maximum duration.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "65535000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-cluster-duration": {
                         "blurb": "Desired cluster duration as nanoseconds. A new cluster will be created irrespective of this property if a force key unit event is received. 0 means create a new cluster for each video keyframe or for each audio buffer in audio only streams.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "500000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-index-interval": {
                         "blurb": "An index entry is created every so many nanoseconds.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "offset-to-zero": {
                         "blurb": "Offsets all streams so that the earliest stream starts at 0.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "streamable": {
                         "blurb": "If set to true, the output should be as if it is to be streamed and hence no indexes written or duration written.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "timecodescale": {
                         "blurb": "TimecodeScale used to calculate the Raw Timecode of a Block",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1000000",
                         "max": "1000000000",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "version": {
                         "blurb": "This parameter determines what Matroska features can be used.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "2",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "writing-app": {
                         "blurb": "The name the application that creates the matroska file.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "GStreamer Matroska muxer",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "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": {
                     "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
                     },
                     "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
                     },
                     "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
                 "properties": {
                     "blocksize": {
                         "blurb": "Size in bytes to read per buffer (-1 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4096",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "do-timestamp": {
                         "blurb": "Apply current stream time to buffers",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "framerate": {
                         "blurb": "The output framerate.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "30/1",
                         "max": "2147483647/1",
                         "min": "1/1",
+                        "mutable": "playing",
                         "readable": false,
                         "type": "GstFraction",
                         "writable": true
                     },
                     "location": {
                         "blurb": "Pattern to create file names of input files.  File names are created by calling sprintf() with the pattern and the current index.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "num-buffers": {
                         "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "start-index": {
                         "blurb": "Start value of index.  The initial value of index can be set either by setting index or start-index.  When the end of the loop is reached, the index will be set to the value start-index.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "stop-index": {
                         "blurb": "Stop value of index.  The special value -1 means no stop.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "typefind": {
                         "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "aggregate-gops": {
                         "blurb": "Whether to aggregate GOPs and process them as a whole without splitting",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "async": {
                         "blurb": "Go asynchronously to PAUSED",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "blocksize": {
                         "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4096",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "enable-last-sample": {
                         "blurb": "Enable the last-sample property",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "index": {
                         "blurb": "Index to use with location property to create file names.  The index is incremented by one for each buffer written.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "last-sample": {
                         "blurb": "The last sample received in the sink",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstSample",
                         "writable": false
                     },
                     "location": {
                         "blurb": "Location of the file to write",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "%%05d",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "max-bitrate": {
                         "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "max-file-duration": {
                         "blurb": "Maximum file duration before starting a new file in max-duration mode (in nanoseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "max-file-size": {
                         "blurb": "Maximum file size before starting a new file in max-size mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2147483648",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "max-files": {
                         "blurb": "Maximum number of files to keep on disk. Once the maximum is reached,old files start to be deleted to make room for new ones.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "max-lateness": {
                         "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "next-file": {
                         "blurb": "When to start a new file",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "buffer (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstMultiFileSinkNext",
                         "writable": true
                     },
                     "post-messages": {
                         "blurb": "Post a message for each file with information of the buffer",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "processing-deadline": {
                         "blurb": "Maximum processing time for a buffer in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "20000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Generate Quality-of-Service events upstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "render-delay": {
                         "blurb": "Additional render delay of the sink 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
                     },
                     "stats": {
                         "blurb": "Sink Statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-gst-base-sink-stats, average-rate=(double)0, dropped=(guint64)0, rendered=(guint64)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "sync": {
                         "blurb": "Sync on the clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "throttle-time": {
                         "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "ts-offset": {
                         "blurb": "Timestamp offset in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "blocksize": {
                         "blurb": "Size in bytes to read per buffer (-1 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4096",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "caps": {
                         "blurb": "Caps describing the format of the data.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstCaps",
                         "writable": true
                     },
                     "do-timestamp": {
                         "blurb": "Apply current stream time to buffers",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "index": {
                         "blurb": "Index to use with location property to create file names.  The index is incremented by one for each buffer read.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "location": {
                         "blurb": "Pattern to create file names of input files.  File names are created by calling sprintf() with the pattern and the current index.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "%%05d",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "loop": {
                         "blurb": "Whether to repeat from the beginning when all files have been read.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "num-buffers": {
                         "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "start-index": {
                         "blurb": "Start value of index.  The initial value of index can be set either by setting index or start-index.  When the end of the loop is reached, the index will be set to the value start-index.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "stop-index": {
                         "blurb": "Stop value of index.  The special value -1 means no stop.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "typefind": {
                         "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "blocksize": {
                         "blurb": "Size in bytes to read per buffer (-1 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4096",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "do-timestamp": {
                         "blurb": "Apply current stream time to buffers",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "location": {
                         "blurb": "Wildcard pattern to match file names of the input files. If the location is an absolute path or contains directory components, only the base file name part will be considered for pattern matching. The results will be sorted.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "num-buffers": {
                         "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "typefind": {
                         "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "alignment-threshold": {
                         "blurb": "Allow non-reference streams to be that many ns before the reference stream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "ready",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "async-finalize": {
                         "blurb": "Finalize each fragment asynchronously and start a new one",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "async-handling": {
                         "blurb": "The bin will handle Asynchronous state changes",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "location": {
                         "blurb": "Format string pattern for the location of the files to write (e.g. video%%05d.mp4)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "max-files": {
                         "blurb": "Maximum number of files to keep on disk. Once the maximum is reached,old files start to be deleted to make room for new ones.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "max-size-bytes": {
                         "blurb": "Max. amount of data per file (in bytes, 0=disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "ready",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "max-size-time": {
                         "blurb": "Max. amount of time per file (in ns, 0=disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "ready",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "max-size-timecode": {
                         "blurb": "Maximum difference in timecode between first and last frame. Separator is assumed to be \":\" everywhere (e.g. 01:00:00:00). Will only be effective if a timecode track is present.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "ready",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "message-forward": {
                         "blurb": "Forwards all children messages",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mux-overhead": {
                         "blurb": "Extra size overhead of muxing (0.02 = 2%%)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0.02",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "muxer": {
                         "blurb": "The muxer element to use (NULL = default mp4mux). Valid only for async-finalize = FALSE",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstElement",
                         "writable": true
                     },
                     "muxer-factory": {
                         "blurb": "The muxer element factory to use (default = mp4mux). Valid only for async-finalize = TRUE",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "mp4mux",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "muxer-pad-map": {
                         "blurb": "A GstStructure specifies the mapping from splitmuxsink sink pads to muxer pads",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": true
                     },
                     "muxer-properties": {
                         "blurb": "The muxer element properties to use. Example: {properties,boolean-prop=true,string-prop=\"hi\"}. Valid only for async-finalize = TRUE",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": true
                     },
                     "reset-muxer": {
                         "blurb": "Reset the muxer after each segment. Disabling this will not work for most muxers.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "send-keyframe-requests": {
                         "blurb": "Request a keyframe every max-size-time ns to try splitting at that point. Needs max-size-bytes to be 0 in order to be effective.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "ready",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "sink": {
                         "blurb": "The sink element (or element chain) to use (NULL = default filesink). Valid only for async-finalize = FALSE",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstElement",
                         "writable": true
                     },
                     "sink-factory": {
                         "blurb": "The sink element factory to use (default = filesink). Valid only for async-finalize = TRUE",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "filesink",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "sink-properties": {
                         "blurb": "The sink element properties to use. Example: {properties,boolean-prop=true,string-prop=\"hi\"}. Valid only for async-finalize = TRUE",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": true
                     },
                     "start-index": {
                         "blurb": "Start value of fragment index.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "use-robust-muxing": {
                         "blurb": "Check if muxers support robust muxing via the reserved-max-duration and reserved-duration-remaining properties and use them if so. (Only present on qtmux and mp4mux for now). splitmuxsink may then also  create new fragments if the reserved header space is about to overflow. Note that for mp4mux and qtmux, reserved-moov-update-period must be set manually by the app to a non-zero value for robust muxing to have an effect.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "async-handling": {
                         "blurb": "The bin will handle Asynchronous state changes",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "location": {
                         "blurb": "Glob pattern for the location of the files to read",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "message-forward": {
                         "blurb": "Forwards all children messages",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "boundary": {
                         "blurb": "The boundary string separating data, automatic if NULL",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "single-stream": {
                         "blurb": "Assume that there is only one stream whose content-type will not change and emit no-more-pads as soon as the first boundary content is parsed, decoded, and pads are linked",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "boundary": {
                         "blurb": "Boundary string",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ThisRandomString",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                 "properties": {
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "alignment-threshold": {
                         "blurb": "Timestamp alignment threshold in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "18446744073709551614",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "async": {
                         "blurb": "Go asynchronously to PAUSED",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "blocksize": {
                         "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4096",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "buffer-time": {
                         "blurb": "Size of audio buffer in microseconds, this is the minimum latency that the sink reports",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "9223372036854775807",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "can-activate-pull": {
                         "blurb": "Allow pull-based scheduling",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "device": {
                         "blurb": "OSS4 device (e.g. /dev/oss/hdaudio0/pcm0 or /dev/dspN) (NULL = use first available playback device)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "device-name": {
                         "blurb": "Human-readable name of the sound device",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": false
                     },
                     "discont-wait": {
                         "blurb": "Window of time in nanoseconds to wait before creating a discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1000000000",
                         "max": "18446744073709551614",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "drift-tolerance": {
                         "blurb": "Tolerance for clock drift in microseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000",
                         "max": "9223372036854775807",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "enable-last-sample": {
                         "blurb": "Enable the last-sample property",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "last-sample": {
                         "blurb": "The last sample received in the sink",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstSample",
                         "writable": false
                     },
                     "latency-time": {
                         "blurb": "The minimum amount of data to write in each iteration in microseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "10000",
                         "max": "9223372036854775807",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-bitrate": {
                         "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "max-lateness": {
                         "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mute": {
                         "blurb": "Mute state of this stream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "processing-deadline": {
                         "blurb": "Maximum processing time for a buffer in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "20000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "provide-clock": {
                         "blurb": "Provide a clock to be used as the global pipeline clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Generate Quality-of-Service events upstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "render-delay": {
                         "blurb": "Additional render delay of the sink 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
                     },
                     "slave-method": {
                         "blurb": "Algorithm used to match the rate of the masterclock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "skew (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAudioBaseSinkSlaveMethod",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Sink Statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-gst-base-sink-stats, average-rate=(double)0, dropped=(guint64)0, rendered=(guint64)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "sync": {
                         "blurb": "Sync on the clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "throttle-time": {
                         "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "ts-offset": {
                         "blurb": "Timestamp offset in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "volume": {
                         "blurb": "Linear volume of this stream, 1.0=100%%",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                 "properties": {
                     "actual-buffer-time": {
                         "blurb": "Actual configured size of audio buffer in microseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": false
                     },
                     "actual-latency-time": {
                         "blurb": "Actual configured audio latency in microseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": false
                     },
                     "blocksize": {
                         "blurb": "Size in bytes to read per buffer (-1 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "buffer-time": {
                         "blurb": "Size of audio buffer in microseconds. This is the maximum amount of data that is buffered in the device and the maximum latency that the source reports. This value might be ignored by the element if necessary; see \"actual-buffer-time\"",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "9223372036854775807",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "device": {
                         "blurb": "OSS4 device (e.g. /dev/oss/hdaudio0/pcm0 or /dev/dspN) (NULL = use first available device)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "device-name": {
                         "blurb": "Human-readable name of the sound device",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": false
                     },
                     "do-timestamp": {
                         "blurb": "Apply current stream time to buffers",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "latency-time": {
                         "blurb": "The minimum amount of data to read in each iteration in microseconds. This is the minimum latency that the source reports. This value might be ignored by the element if necessary; see \"actual-latency-time\"",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "10000",
                         "max": "9223372036854775807",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "num-buffers": {
                         "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "provide-clock": {
                         "blurb": "Provide a clock to be used as the global pipeline clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "slave-method": {
                         "blurb": "Algorithm used to match the rate of the masterclock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "skew (2)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAudioBaseSrcSlaveMethod",
                         "writable": true
                     },
                     "typefind": {
                         "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "alignment-threshold": {
                         "blurb": "Timestamp alignment threshold in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "18446744073709551614",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "async": {
                         "blurb": "Go asynchronously to PAUSED",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "blocksize": {
                         "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4096",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "buffer-time": {
                         "blurb": "Size of audio buffer in microseconds, this is the minimum latency that the sink reports",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "9223372036854775807",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "can-activate-pull": {
                         "blurb": "Allow pull-based scheduling",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "device": {
                         "blurb": "OSS device (usually /dev/dspN)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "/dev/dsp",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "discont-wait": {
                         "blurb": "Window of time in nanoseconds to wait before creating a discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1000000000",
                         "max": "18446744073709551614",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "drift-tolerance": {
                         "blurb": "Tolerance for clock drift in microseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000",
                         "max": "9223372036854775807",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "enable-last-sample": {
                         "blurb": "Enable the last-sample property",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "last-sample": {
                         "blurb": "The last sample received in the sink",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstSample",
                         "writable": false
                     },
                     "latency-time": {
                         "blurb": "The minimum amount of data to write in each iteration in microseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "10000",
                         "max": "9223372036854775807",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-bitrate": {
                         "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "max-lateness": {
                         "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "processing-deadline": {
                         "blurb": "Maximum processing time for a buffer in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "20000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "provide-clock": {
                         "blurb": "Provide a clock to be used as the global pipeline clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Generate Quality-of-Service events upstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "render-delay": {
                         "blurb": "Additional render delay of the sink 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
                     },
                     "slave-method": {
                         "blurb": "Algorithm used to match the rate of the masterclock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "skew (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAudioBaseSinkSlaveMethod",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Sink Statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-gst-base-sink-stats, average-rate=(double)0, dropped=(guint64)0, rendered=(guint64)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "sync": {
                         "blurb": "Sync on the clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "throttle-time": {
                         "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "ts-offset": {
                         "blurb": "Timestamp offset in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "actual-buffer-time": {
                         "blurb": "Actual configured size of audio buffer in microseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": false
                     },
                     "actual-latency-time": {
                         "blurb": "Actual configured audio latency in microseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": false
                     },
                     "blocksize": {
                         "blurb": "Size in bytes to read per buffer (-1 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "buffer-time": {
                         "blurb": "Size of audio buffer in microseconds. This is the maximum amount of data that is buffered in the device and the maximum latency that the source reports. This value might be ignored by the element if necessary; see \"actual-buffer-time\"",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "9223372036854775807",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "device": {
                         "blurb": "OSS device (usually /dev/dspN)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "/dev/dsp",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "device-name": {
                         "blurb": "Human-readable name of the sound device",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": false
                     },
                     "do-timestamp": {
                         "blurb": "Apply current stream time to buffers",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "latency-time": {
                         "blurb": "The minimum amount of data to read in each iteration in microseconds. This is the minimum latency that the source reports. This value might be ignored by the element if necessary; see \"actual-latency-time\"",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "10000",
                         "max": "9223372036854775807",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "num-buffers": {
                         "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "provide-clock": {
                         "blurb": "Provide a clock to be used as the global pipeline clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "slave-method": {
                         "blurb": "Algorithm used to match the rate of the masterclock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "skew (2)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAudioBaseSrcSlaveMethod",
                         "writable": true
                     },
                     "typefind": {
                         "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "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
                 "properties": {
                     "compression-level": {
                         "blurb": "PNG compression level",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "6",
                         "max": "9",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "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
+                    },
                     "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
                     },
                     "snapshot": {
                         "blurb": "Send EOS after encoding a frame, useful for snapshots",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "alignment-threshold": {
                         "blurb": "Timestamp alignment threshold in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000000",
                         "max": "18446744073709551614",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "async": {
                         "blurb": "Go asynchronously to PAUSED",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "blocksize": {
                         "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4096",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "buffer-time": {
                         "blurb": "Size of audio buffer in microseconds, this is the minimum latency that the sink reports",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "9223372036854775807",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "can-activate-pull": {
                         "blurb": "Allow pull-based scheduling",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "client-name": {
                         "blurb": "The PulseAudio client name to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "gst-hotdoc-plugins-scanner",
+                        "mutable": "ready",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "current-device": {
                         "blurb": "The current PulseAudio sink device",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": false
                     },
                     "device": {
                         "blurb": "The PulseAudio sink device to connect to",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "device-name": {
                         "blurb": "Human-readable name of the sound device",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": false
                     },
                     "discont-wait": {
                         "blurb": "Window of time in nanoseconds to wait before creating a discontinuity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1000000000",
                         "max": "18446744073709551614",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "drift-tolerance": {
                         "blurb": "Tolerance for clock drift in microseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "40000",
                         "max": "9223372036854775807",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "enable-last-sample": {
                         "blurb": "Enable the last-sample property",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "last-sample": {
                         "blurb": "The last sample received in the sink",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstSample",
                         "writable": false
                     },
                     "latency-time": {
                         "blurb": "The minimum amount of data to write in each iteration in microseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "10000",
                         "max": "9223372036854775807",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-bitrate": {
                         "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "max-lateness": {
                         "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mute": {
                         "blurb": "Mute state of this stream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "processing-deadline": {
                         "blurb": "Maximum processing time for a buffer in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "20000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "provide-clock": {
                         "blurb": "Provide a clock to be used as the global pipeline clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Generate Quality-of-Service events upstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "render-delay": {
                         "blurb": "Additional render delay of the sink 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
                     },
                     "server": {
                         "blurb": "The PulseAudio server to connect to",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "slave-method": {
                         "blurb": "Algorithm used to match the rate of the masterclock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "skew (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAudioBaseSinkSlaveMethod",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Sink Statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-gst-base-sink-stats, average-rate=(double)0, dropped=(guint64)0, rendered=(guint64)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "stream-properties": {
                         "blurb": "list of pulseaudio stream properties",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": true
                     },
                     "sync": {
                         "blurb": "Sync on the clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "throttle-time": {
                         "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "ts-offset": {
                         "blurb": "Timestamp offset in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "volume": {
                         "blurb": "Linear volume of this stream, 1.0=100%%",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                 "properties": {
                     "actual-buffer-time": {
                         "blurb": "Actual configured size of audio buffer in microseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": false
                     },
                     "actual-latency-time": {
                         "blurb": "Actual configured audio latency in microseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": false
                     },
                     "blocksize": {
                         "blurb": "Size in bytes to read per buffer (-1 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "buffer-time": {
                         "blurb": "Size of audio buffer in microseconds. This is the maximum amount of data that is buffered in the device and the maximum latency that the source reports. This value might be ignored by the element if necessary; see \"actual-buffer-time\"",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200000",
                         "max": "9223372036854775807",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "client-name": {
                         "blurb": "The PulseAudio client_name_to_use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "gst-hotdoc-plugins-scanner",
+                        "mutable": "ready",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "current-device": {
                         "blurb": "The current PulseAudio source device",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": false
                     },
                     "device": {
                         "blurb": "The PulseAudio source device to connect to",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "device-name": {
                         "blurb": "Human-readable name of the sound device",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": false
                     },
                     "do-timestamp": {
                         "blurb": "Apply current stream time to buffers",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "latency-time": {
                         "blurb": "The minimum amount of data to read in each iteration in microseconds. This is the minimum latency that the source reports. This value might be ignored by the element if necessary; see \"actual-latency-time\"",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "10000",
                         "max": "9223372036854775807",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mute": {
                         "blurb": "Mute state of this stream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "num-buffers": {
                         "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "provide-clock": {
                         "blurb": "Provide a clock to be used as the global pipeline clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "server": {
                         "blurb": "The PulseAudio server to connect to",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "slave-method": {
                         "blurb": "Algorithm used to match the rate of the masterclock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "skew (2)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstAudioBaseSrcSlaveMethod",
                         "writable": true
                     },
                     "source-output-index": {
                         "blurb": "The index of the PulseAudio source output corresponding to this record stream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "stream-properties": {
                         "blurb": "list of pulseaudio stream properties",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": true
                     },
                     "typefind": {
                         "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "volume": {
                         "blurb": "Linear volume of this stream, 1.0=100%%",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                 "properties": {
                     "forced": {
                         "blurb": "Analyze even if ReplayGain tags exist",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "message": {
                         "blurb": "Post statics messages",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "num-tracks": {
                         "blurb": "Number of remaining album tracks",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "reference-level": {
                         "blurb": "Reference level [dB]",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "89",
                         "max": "150",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                 "properties": {
                     "enabled": {
                         "blurb": "Enable processing",
+                        "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",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "album-mode": {
                         "blurb": "Prefer album over track gain",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "async-handling": {
                         "blurb": "The bin will handle Asynchronous state changes",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "fallback-gain": {
                         "blurb": "Gain for streams missing tags [dB]",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "60",
                         "min": "-60",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "headroom": {
                         "blurb": "Extra headroom [dB]",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "60",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "message-forward": {
                         "blurb": "Forwards all children messages",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pre-amp": {
                         "blurb": "Extra gain [dB]",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "60",
                         "min": "-60",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "result-gain": {
                         "blurb": "Applied gain [dB]",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "120",
                         "min": "-120",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": false
                     },
                     "target-gain": {
                         "blurb": "Applicable gain [dB]",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "120",
                         "min": "-120",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": false
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "buffer-list": {
                         "blurb": "Use Buffer Lists",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "96",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)96, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "buffer-list": {
                         "blurb": "Use Buffer Lists",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "96",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)96, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "buffer-list": {
                         "blurb": "Use Buffer Lists",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "96",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)96, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "96",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)96, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "96",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)96, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "buffer-list": {
                         "blurb": "Use Buffer Lists",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "96",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)96, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "96",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)96, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mode": {
                         "blurb": "The payload mode of payloading",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "video (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstDVPayMode",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "96",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)96, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "buffer-list": {
                         "blurb": "Use Buffer Lists",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "9",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)9, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)4, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "force-aal2": {
                         "blurb": "Force AAL2 decoding for compatibility with bad payloaders",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "buffer-list": {
                         "blurb": "Use Buffer Lists",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "force-aal2": {
                         "blurb": "Force AAL2 encoding for compatibility with bad depayloaders",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "96",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)8000, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)96, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)18, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)8000, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)3, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "config-interval": {
                         "blurb": "Interval for sending caps and TAG events in seconds (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3600",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "96",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)90000, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)96, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "31",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)31, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "modea-only": {
                         "blurb": "Disable packetization modes B and C",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "34",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)34, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "fragmentation-mode": {
                         "blurb": "Packet Fragmentation Mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstFragmentationMode",
                         "writable": true
                     },
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "96",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)96, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "aggregate-mode": {
                         "blurb": "Bundle suitable SPS/PPS NAL units into STAP-A aggregate packets. ",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "zero-latency (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstRtpH264AggregateMode",
                         "writable": true
                     },
                     "config-interval": {
                         "blurb": "Send SPS and PPS Insertion Interval in seconds (sprop parameter sets will be multiplexed in the data stream when detected.) (0 = disabled, -1 = send with every IDR frame)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3600",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "96",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "sprop-parameter-sets": {
                         "blurb": "The base64 sprop-parameter-sets to set in out caps (set to NULL to extract from stream)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)96, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "aggregate-mode": {
                         "blurb": "Bundle suitable SPS/PPS NAL units into aggregate packets.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "zero-latency (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstRtpH265AggregateMode",
                         "writable": true
                     },
                     "config-interval": {
                         "blurb": "Send VPS, SPS and PPS Insertion Interval in seconds (sprop parameter sets will be multiplexed in the data stream when detected.) (0 = disabled, -1 = send with every IDR frame)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3600",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "96",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)96, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "mode": {
                         "blurb": "iLBC frame mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "30ms (30)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "iLBCMode",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "buffer-list": {
                         "blurb": "Use Buffer Lists",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "96",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)8000, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)96, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "96",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)96, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "26",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "quality": {
                         "blurb": "Quality factor on JPEG data (unused)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "255",
                         "max": "255",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)26, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "type": {
                         "blurb": "Default JPEG Type, overwritten by SOF when present",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "255",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "96",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)96, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "skip-first-bytes": {
                         "blurb": "The amount of bytes that need to be skipped at the beginning of the payload",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "33",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)90000, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)33, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "96",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)96, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "96",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)96, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "config-interval": {
                         "blurb": "Send Config Insertion Interval in seconds (configuration headers will be multiplexed in the data stream when detected.) (0 = disabled, -1 = send with every IDR frame)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3600",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "96",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)96, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "14",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)14, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "32",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)90000, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)32, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "96",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)96, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "buffer-list": {
                         "blurb": "Use Buffer Lists",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)8000, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)8, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "buffer-list": {
                         "blurb": "Use Buffer Lists",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)8000, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)0, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "pt": {
                         "blurb": "Payload type FEC packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "127",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "received": {
                         "blurb": "Count of received packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                 "properties": {
                     "allow-no-red-blocks": {
                         "blurb": "true - can produce RED packets even without redundant blocks (distance==0) false - RED packets will be produced only if distance>0",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "distance": {
                         "blurb": "Tells which media packet to use as a redundant block (0 - no redundant blocks, 1 to use previous packet, 2 to use the packet before previous, etc.)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "Payload type FEC packets (-1 disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sent": {
                         "blurb": "Count of sent packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                 "properties": {
                     "ignore-timestamps": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-frames": {
                         "blurb": "Minimum quantity of frames to send in one packet (-1 for maximum allowed by the mtu)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "96",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)96, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "buffer-list": {
                         "blurb": "Use Buffer Lists",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "96",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)16000, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)96, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "110",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)8000, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)110, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "internal-storage": {
                         "blurb": "Internal RtpStorage object",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GObject",
                         "writable": false
                     },
                     "size-time": {
                         "blurb": "The amount of data to keep in the storage (in ns, 0-disable)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                 "properties": {
                     "disable-passthrough": {
                         "blurb": "Force processing (disables passthrough)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "config-interval": {
                         "blurb": "Send Config Insertion Interval in seconds (configuration headers will be multiplexed in the data stream when detected.) (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3600",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "96",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)96, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "pt": {
                         "blurb": "FEC packets payload type",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "recovered": {
                         "blurb": "The number of recovered packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "storage": {
                         "blurb": "RTP storage",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GObject",
                         "writable": true
                     },
                     "unrecovered": {
                         "blurb": "The number of unrecovered packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                 "properties": {
                     "multipacket": {
                         "blurb": "Apply FEC on multiple packets",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "percentage": {
                         "blurb": "FEC overhead percentage for the whole stream",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "100",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "percentage-important": {
                         "blurb": "FEC overhead percentage for important packets",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "100",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "protected": {
                         "blurb": "Count of protected packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "pt": {
                         "blurb": "The payload type of FEC packets",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "255",
                         "max": "255",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "config-interval": {
                         "blurb": "Send Config Insertion Interval in seconds (configuration headers will be multiplexed in the data stream when detected.) (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "3600",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "96",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)96, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "wait-for-keyframe": {
                         "blurb": "Wait for the next keyframe after packet loss",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "picture-id-mode": {
                         "blurb": "The picture ID mode for payloading",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "none (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstVP8RTPPayMode",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "96",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)96, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "picture-id-mode": {
                         "blurb": "The picture ID mode for payloading",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "none (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstVP9RTPPayMode",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "96",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)96, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "max-reorder": {
                         "blurb": "Max seqnum reorder before assuming sender has restarted",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Add RTP source information as buffer meta",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-depayload-stats, clock_rate=(uint)0, npt-start=(guint64)0, npt-stop=(guint64)18446744073709551615, play-speed=(double)1, play-scale=(double)1, running-time-dts=(guint64)18446744073709551615, running-time-pts=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "chunks-per-frame": {
                         "blurb": "Split and send out each frame in multiple chunks to reduce overhead",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "10",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-ptime": {
                         "blurb": "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "min-ptime": {
                         "blurb": "Minimum duration of the packet data in ns (can't go above MTU)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum size of one packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "-1",
                         "min": "28",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "onvif-no-rate-control": {
                         "blurb": "Enable ONVIF Rate-Control=no timestamping mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "perfect-rtptime": {
                         "blurb": "Generate perfect RTP timestamps when possible",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "pt": {
                         "blurb": "The payload type of the packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "96",
                         "max": "127",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ptime-multiple": {
                         "blurb": "Force buffers to be multiples of this duration in ns (0 disables)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "scale-rtptime": {
                         "blurb": "Whether the RTP timestamp should be scaled with the rate (speed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "65535",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "source-info": {
                         "blurb": "Write CSRC based on buffer meta RTP source information",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-payload-stats, clock-rate=(uint)0, running-time=(guint64)18446744073709551615, seqnum=(uint)0, timestamp=(uint)0, ssrc=(uint)0, pt=(uint)96, seqnum-offset=(uint)0, timestamp-offset=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "timestamp": {
                         "blurb": "The RTP timestamp of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "twcc-ext-id": {
                         "blurb": "The RTP header-extension ID to use for tagging buffers with Transport-wide Congestion Control sequencenumbers (0 = disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "async-handling": {
                         "blurb": "The bin will handle Asynchronous state changes",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "autoremove": {
                         "blurb": "Automatically remove timed out sources",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "buffer-mode": {
                         "blurb": "Control the buffering algorithm in use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slave (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "RTPJitterBufferMode",
                         "writable": true
                     },
                     "do-lost": {
                         "blurb": "Send an event downstream when a packet is lost",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "do-retransmission": {
                         "blurb": "Enable retransmission on all streams",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "do-sync-event": {
                         "blurb": "Send event downstream when a stream is synchronized to the sender",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "drop-on-latency": {
                         "blurb": "Tells the jitterbuffer to never exceed the given latency in size",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ignore-pt": {
                         "blurb": "Do not demultiplex based on PT values",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "latency": {
                         "blurb": "Default amount of ms to buffer in the jitterbuffers",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "max-dropout-time": {
                         "blurb": "The maximum time (milliseconds) of missing packets tolerated.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "60000",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "max-misorder-time": {
                         "blurb": "The maximum time (milliseconds) of misordered packets tolerated.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2000",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "max-rtcp-rtp-time-diff": {
                         "blurb": "Maximum amount of time in ms that the RTP time in RTCP SRs is allowed to be ahead (-1 disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1000",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-streams": {
                         "blurb": "The maximum number of streams to create for one session",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "max-ts-offset": {
                         "blurb": "The maximum absolute value of the time offset in (nanoseconds). Note, if the ntp-sync parameter is set the default value is changed to 0 (no limit)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3000000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-ts-offset-adjustment": {
                         "blurb": "The maximum number of nanoseconds per frame that time stamp offsets may be adjusted (0 = no limit).",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "message-forward": {
                         "blurb": "Forwards all children messages",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ntp-sync": {
                         "blurb": "Synchronize received streams to the NTP clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ntp-time-source": {
                         "blurb": "NTP time source for RTCP packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ntp (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstRtpNtpTimeSource",
                         "writable": true
                     },
                     "rfc7273-sync": {
                         "blurb": "Synchronize received streams to the RFC7273 clock (requires clock and offset to be provided)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "rtcp-sync": {
                         "blurb": "Use of RTCP SR in synchronization",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "always (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstRTCPSync",
                         "writable": true
                     },
                     "rtcp-sync-interval": {
                         "blurb": "RTCP SR interval synchronization (ms) (0 = always)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "rtcp-sync-send-time": {
                         "blurb": "Use send time or capture time for RTCP sync (TRUE = send time, FALSE = capture time)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "rtp-profile": {
                         "blurb": "Default RTP profile of newly created sessions",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "avp (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstRTPProfile",
                         "writable": true
                     },
                     "sdes": {
                         "blurb": "The SDES items of this session",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": true
                     },
                     "use-pipeline-clock": {
                         "blurb": "Use the pipeline running-time to set the NTP time in the RTCP SR messages (DEPRECATED: Use ntp-time-source property)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "common-ts-offset": {
                         "blurb": "Use the same RTP timestamp offset for all sinkpads (-1 = disable)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "do-lost": {
                         "blurb": "Send an event downstream when a packet is lost",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "do-retransmission": {
                         "blurb": "Send retransmission events upstream when a packet is late",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "drop-messages-interval": {
                         "blurb": "Minimal time between posting dropped packet messages",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "drop-on-latency": {
                         "blurb": "Tells the jitterbuffer to never exceed the given latency in size",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "faststart-min-packets": {
                         "blurb": "The number of consecutive packets needed to start (set to 0 to disable faststart. The jitterbuffer will by default start after the latency has elapsed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "latency": {
                         "blurb": "Amount of ms to buffer",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "max-dropout-time": {
                         "blurb": "The maximum time (milliseconds) of missing packets tolerated.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "60000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "max-misorder-time": {
                         "blurb": "The maximum time (milliseconds) of misordered packets tolerated.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2000",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "max-rtcp-rtp-time-diff": {
                         "blurb": "Maximum amount of time in ms that the RTP time in RTCP SRs is allowed to be ahead (-1 disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1000",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-ts-offset-adjustment": {
                         "blurb": "The maximum number of nanoseconds per frame that time stamp offsets may be adjusted (0 = no limit).",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "mode": {
                         "blurb": "Control the buffering algorithm in use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "slave (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "RTPJitterBufferMode",
                         "writable": true
                     },
                     "percent": {
                         "blurb": "The buffer filled percent",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "100",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": false
                     },
                     "post-drop-messages": {
                         "blurb": "Post a custom message to the bus when a packet is dropped by the jitterbuffer",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "rfc7273-sync": {
                         "blurb": "Synchronize received streams to the RFC7273 clock (requires clock and offset to be provided)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "rtx-deadline": {
                         "blurb": "The deadline for a valid RTX request in milliseconds. (-1 automatic)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rtx-delay": {
                         "blurb": "Extra time in ms to wait before sending retransmission event (-1 automatic)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rtx-delay-reorder": {
                         "blurb": "Sending retransmission event when this much reordering (0 disable)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rtx-max-retries": {
                         "blurb": "The maximum number of retries to request a retransmission. (-1 not limited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rtx-min-delay": {
                         "blurb": "Minimum time in ms to wait before sending retransmission event",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "rtx-min-retry-timeout": {
                         "blurb": "Minimum timeout between sending a transmission event in ms (-1 automatic)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rtx-next-seqnum": {
                         "blurb": "Estimate when the next packet should arrive and schedule a retransmission request for it.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "rtx-retry-period": {
                         "blurb": "Try to get a retransmission for this many ms (-1 automatic)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rtx-retry-timeout": {
                         "blurb": "Retry sending a transmission event after this timeout in ms (-1 automatic)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rtx-stats-timeout": {
                         "blurb": "The time to wait for a retransmitted packet after it has been considered lost in order to collect statistics (ms)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1000",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-jitterbuffer-stats, num-pushed=(guint64)0, num-lost=(guint64)0, num-late=(guint64)0, num-duplicates=(guint64)0, avg-jitter=(guint64)0, rtx-count=(guint64)0, rtx-success-count=(guint64)0, rtx-per-packet=(double)0, rtx-rtt=(guint64)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "ts-offset": {
                         "blurb": "Adjust buffer timestamps with offset in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "seqnum": {
                         "blurb": "The RTP sequence number of the last processed packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "seqnum-offset": {
                         "blurb": "Offset to add to all outgoing seqnum (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ssrc": {
                         "blurb": "The SSRC of the packets (default == random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "timestamp-offset": {
                         "blurb": "Offset to add to all outgoing timestamps (-1 = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "ignored-payload-types": {
                         "blurb": "Packets with these payload types will be dropped",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstValueArray",
                         "writable": true
                 "properties": {
                     "fulfilled-requests": {
                         "blurb": "Number of fulfilled retransmission requests",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "max-size-packets": {
                         "blurb": "Amount of packets to queue (0 = unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "max-size-time": {
                         "blurb": "Amount of ms to queue (0 = unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "requests": {
                         "blurb": "Total number of retransmission requests",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                 "properties": {
                     "num-rtx-assoc-packets": {
                         "blurb": "Number of retransmission packets correctly associated with retransmission requests",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "num-rtx-packets": {
                         "blurb": " Number of retransmission packets received",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "num-rtx-requests": {
                         "blurb": "Number of retransmission events received",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "payload-type-map": {
                         "blurb": "Map of original payload types to their retransmission payload types",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": true
                 "properties": {
                     "clock-rate-map": {
                         "blurb": "Map of payload types to their clock rates",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": true
                     },
                     "max-size-packets": {
                         "blurb": "Amount of packets to queue (0 = unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "32767",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "max-size-time": {
                         "blurb": "Amount of ms to queue (0 = unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "num-rtx-packets": {
                         "blurb": " Number of retransmission packets sent",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "num-rtx-requests": {
                         "blurb": "Number of retransmission events received",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "payload-type-map": {
                         "blurb": "Map of original payload types to their retransmission payload types",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": true
                     },
                     "ssrc-map": {
                         "blurb": "Map of SSRCs to their retransmission SSRCs for SSRC-multiplexed mode (default = random)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": false,
                         "type": "GstStructure",
                         "writable": true
                 "properties": {
                     "bandwidth": {
                         "blurb": "The bandwidth of the session in bytes per second (0 for auto-discover)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "1.79769e+308",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "internal-session": {
                         "blurb": "The internal RTPSession object",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "RTPSession",
                         "writable": false
                     },
                     "max-dropout-time": {
                         "blurb": "The maximum time (milliseconds) of missing packets tolerated.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "60000",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "max-misorder-time": {
                         "blurb": "The maximum time (milliseconds) of misordered packets tolerated.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2000",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ntp-time-source": {
                         "blurb": "NTP time source for RTCP packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ntp (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstRtpNtpTimeSource",
                         "writable": true
                     },
                     "num-active-sources": {
                         "blurb": "The number of active sources in the session",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "num-sources": {
                         "blurb": "The number of sources in the session",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "probation": {
                         "blurb": "Consecutive packet sequence numbers to accept the source",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "rtcp-fraction": {
                         "blurb": "The RTCP bandwidth of the session in bytes per second (or as a real fraction of the RTP bandwidth if < 1.0)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.05",
                         "max": "1.79769e+308",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "rtcp-min-interval": {
                         "blurb": "Minimum interval between Regular RTCP packet (in ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "5000000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "rtcp-rr-bandwidth": {
                         "blurb": "The RTCP bandwidth used for receivers in bytes per second (-1 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rtcp-rs-bandwidth": {
                         "blurb": "The RTCP bandwidth used for senders in bytes per second (-1 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rtcp-sync-send-time": {
                         "blurb": "Use send time or capture time for RTCP sync (TRUE = send time, FALSE = capture time)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "rtp-profile": {
                         "blurb": "RTP profile to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "avp (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstRTPProfile",
                         "writable": true
                     },
                     "sdes": {
                         "blurb": "The SDES items of this session",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-session-stats, rtx-drop-count=(uint)0, sent-nack-count=(uint)0, recv-nack-count=(uint)0, source-stats=(GValueArray)<  >, rtx-count=(uint)0, recv-rtx-req-count=(uint)0, sent-rtx-req-count=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "twcc-stats": {
                         "blurb": "Various statistics from TWCC",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "use-pipeline-clock": {
                         "blurb": "Use the pipeline running-time to set the NTP time in the RTCP SR messages (DEPRECATED: Use ntp-time-source property)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "max-streams": {
                         "blurb": "The maximum number of streams allowed",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "bandwidth": {
                         "blurb": "The bandwidth of the session in bits per second (0 for auto-discover)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "1.79769e+308",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "disable-sr-timestamp": {
                         "blurb": "Whether sender reports should be timestamped",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "favor-new": {
                         "blurb": "Resolve SSRC conflict in favor of new sources",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "internal-source": {
                         "blurb": "The internal source element of the session (deprecated)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "RTPSource",
                         "writable": false
                     },
                     "internal-ssrc": {
                         "blurb": "The internal SSRC used for the session (deprecated)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
-                        "default": "1559592260",
+                        "controllable": false,
+                        "default": "299638488",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "max-dropout-time": {
                         "blurb": "The maximum time (milliseconds) of missing packets tolerated.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "60000",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "max-misorder-time": {
                         "blurb": "The maximum time (milliseconds) of misordered packets tolerated.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2000",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "num-active-sources": {
                         "blurb": "The number of active sources in the session",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "num-sources": {
                         "blurb": "The number of sources in the session",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": false
                     },
                     "probation": {
                         "blurb": "Consecutive packet sequence numbers to accept the source",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "rtcp-feedback-retention-window": {
                         "blurb": "Duration during which RTCP Feedback packets are retained (in ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2000000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "rtcp-fraction": {
                         "blurb": "The fraction of the bandwidth used for RTCP in bits per second (or as a real fraction of the RTP bandwidth if < 1)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.05",
                         "max": "1.79769e+308",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "rtcp-immediate-feedback-threshold": {
                         "blurb": "The maximum number of members of a RTP session for which immediate feedback is used (DEPRECATED: has no effect and is not needed)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "rtcp-min-interval": {
                         "blurb": "Minimum interval between Regular RTCP packet (in ns)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "5000000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "rtcp-mtu": {
                         "blurb": "The maximum size of the RTCP packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1400",
                         "max": "32767",
                         "min": "16",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "rtcp-reduced-size": {
                         "blurb": "Use Reduced Size RTCP for feedback packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "rtcp-rr-bandwidth": {
                         "blurb": "The RTCP bandwidth used for receivers in bits per second (-1 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rtcp-rs-bandwidth": {
                         "blurb": "The RTCP bandwidth used for senders in bits per second (-1 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "rtp-profile": {
                         "blurb": "RTP profile to use for this session",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "avp (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstRTPProfile",
                         "writable": true
                     },
                     "sdes": {
                         "blurb": "The SDES items of this session",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": true
                     },
                     "sources": {
                         "blurb": "An array of all known sources in the session",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GValueArray",
                         "writable": false
                     },
                     "stats": {
                         "blurb": "Various statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-session-stats, rtx-drop-count=(uint)0, sent-nack-count=(uint)0, recv-nack-count=(uint)0, source-stats=(GValueArray)<  >;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "disable-rtcp": {
                         "blurb": "Disable sending RTCP packets for this source",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "is-csrc": {
                         "blurb": "If this SSRC is acting as a contributing source",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "is-sender": {
                         "blurb": "If this SSRC is a sender",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "is-validated": {
                         "blurb": "If this SSRC is validated",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "max-dropout-time": {
                         "blurb": "The maximum time (milliseconds) of missing packets tolerated.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "60000",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "max-misorder-time": {
                         "blurb": "The maximum time (milliseconds) of misordered packets tolerated.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2000",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "probation": {
                         "blurb": "Consecutive packet sequence numbers to accept the source",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "sdes": {
                         "blurb": "The SDES information for this source",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-source-sdes;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "ssrc": {
                         "blurb": "The SSRC of this source",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": true,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "The stats of this source",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-rtp-source-stats, ssrc=(uint)0, internal=(boolean)false, validated=(boolean)false, received-bye=(boolean)false, is-csrc=(boolean)false, is-sender=(boolean)false, seqnum-base=(int)-1, clock-rate=(int)-1, octets-sent=(guint64)0, packets-sent=(guint64)0, octets-received=(guint64)0, packets-received=(guint64)0, bytes-received=(guint64)0, bitrate=(guint64)0, packets-lost=(int)0, jitter=(uint)0, sent-pli-count=(uint)0, recv-pli-count=(uint)0, sent-fir-count=(uint)0, recv-fir-count=(uint)0, sent-nack-count=(uint)0, recv-nack-count=(uint)0, recv-packet-rate=(uint)0, have-sr=(boolean)false, sr-ntptime=(guint64)0, sr-rtptime=(uint)0, sr-octet-count=(uint)0, sr-packet-count=(uint)0, sent-rb=(boolean)false, sent-rb-fractionlost=(uint)0, sent-rb-packetslost=(int)0, sent-rb-exthighestseq=(uint)0, sent-rb-jitter=(uint)0, sent-rb-lsr=(uint)0, sent-rb-dlsr=(uint)0, have-rb=(boolean)false, rb-fractionlost=(uint)0, rb-packetslost=(int)0, rb-exthighestseq=(uint)0, rb-jitter=(uint)0, rb-lsr=(uint)0, rb-dlsr=(uint)0, rb-round-trip=(uint)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                 "properties": {
                     "latency": {
                         "blurb": "Amount of ms to buffer",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "200",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "async-handling": {
                         "blurb": "The bin will handle Asynchronous state changes",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "backchannel": {
                         "blurb": "The type of backchannel to setup. Default is 'none'.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "none (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstRTSPBackchannel",
                         "writable": true
                     },
                     "buffer-mode": {
                         "blurb": "Control the buffering algorithm in use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (3)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstRTSPSrcBufferMode",
                         "writable": true
                     },
                     "connection-speed": {
                         "blurb": "Network connection speed in kbps (0 = unknown)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "debug": {
                         "blurb": "Dump request and response messages to stdout(DEPRECATED: Printed all RTSP message to gstreamer log as 'log' level)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "default-rtsp-version": {
                         "blurb": "The RTSP version that should be tried first when negotiating version.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1-0 (16)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstRTSPVersion",
                         "writable": true
                     },
                     "do-retransmission": {
                         "blurb": "Ask the server to retransmit lost packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "do-rtcp": {
                         "blurb": "Send RTCP packets, disable for old incompatible server.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "do-rtsp-keep-alive": {
                         "blurb": "Send RTSP keep alive packets, disable for old incompatible server.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "drop-on-latency": {
                         "blurb": "Tells the jitterbuffer to never exceed the given latency in size",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "is-live": {
                         "blurb": "Whether to act as a live source",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "latency": {
                         "blurb": "Amount of ms to buffer",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2000",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "location": {
                         "blurb": "Location of the RTSP url to read",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "max-rtcp-rtp-time-diff": {
                         "blurb": "Maximum amount of time in ms that the RTP time in RTCP SRs is allowed to be ahead (-1 disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1000",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-ts-offset": {
                         "blurb": "The maximum absolute value of the time offset in (nanoseconds). Note, if the ntp-sync parameter is set the default value is changed to 0 (no limit)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3000000000",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "max-ts-offset-adjustment": {
                         "blurb": "The maximum number of nanoseconds per frame that time stamp offsets may be adjusted (0 = no limit).",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "message-forward": {
                         "blurb": "Forwards all children messages",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "multicast-iface": {
                         "blurb": "The network interface on which to join the multicast group",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "nat-method": {
                         "blurb": "Method to use for traversing firewalls and NAT",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "dummy (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstRTSPNatMethod",
                         "writable": true
                     },
                     "ntp-sync": {
                         "blurb": "Synchronize received streams to the NTP clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ntp-time-source": {
                         "blurb": "NTP time source for RTCP packets",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "ntp (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstRTSPSrcNtpTimeSource",
                         "writable": true
                     },
                     "onvif-mode": {
                         "blurb": "Act as an ONVIF client",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "onvif-rate-control": {
                         "blurb": "When in onvif-mode, whether to set Rate-Control to yes or no",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "port-range": {
                         "blurb": "Client port range that can be used to receive RTP and RTCP data, eg. 3000-3005 (NULL = no restrictions)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "probation": {
                         "blurb": "Consecutive packet sequence numbers to accept the source",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "protocols": {
                         "blurb": "Allowed lower transport protocols",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "tcp+udp-mcast+udp",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstRTSPLowerTrans",
                         "writable": true
                     },
                     "proxy": {
                         "blurb": "Proxy settings for HTTP tunneling. Format: [http://][user:passwd@]host[:port]",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "proxy-id": {
                         "blurb": "HTTP proxy URI user id for authentication",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "proxy-pw": {
                         "blurb": "HTTP proxy URI user password for authentication",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "retry": {
                         "blurb": "Max number of retries when allocating RTP ports.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "20",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "rfc7273-sync": {
                         "blurb": "Synchronize received streams to the RFC7273 clock (requires clock and offset to be provided)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "rtp-blocksize": {
                         "blurb": "RTP package size to suggest to server (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65536",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "sdes": {
                         "blurb": "The SDES items of this session",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": true
                     },
                     "short-header": {
                         "blurb": "Only send the basic RTSP headers for broken encoders",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "tcp-timeout": {
                         "blurb": "Fail after timeout microseconds on TCP connections (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "20000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "teardown-timeout": {
                         "blurb": "When transitioning PAUSED-READY, allow up to timeout (in nanoseconds) delay in order to send teardown (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "timeout": {
                         "blurb": "Retry TCP transport after UDP timeout microseconds (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "5000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "tls-database": {
                         "blurb": "TLS database with anchor certificate authorities used to validate the server certificate",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GTlsDatabase",
                         "writable": true
                     },
                     "tls-interaction": {
                         "blurb": "A GTlsInteraction object to prompt the user for password or certificate",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GTlsInteraction",
                         "writable": true
                     },
                     "tls-validation-flags": {
                         "blurb": "TLS certificate validation flags used to validate the server certificate",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "validate-all",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GTlsCertificateFlags",
                         "writable": true
                     },
                     "udp-buffer-size": {
                         "blurb": "Size of the kernel UDP receive buffer in bytes, 0=default",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "524288",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "udp-reconnect": {
                         "blurb": "Reconnect to the server if RTSP connection is closed when doing UDP",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "use-pipeline-clock": {
                         "blurb": "Use the pipeline running-time to set the NTP time in the RTCP SR messages(DEPRECATED: Use ntp-time-source property)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "user-agent": {
                         "blurb": "The User-Agent string to send to the server",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "GStreamer/1.17.0.1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "user-id": {
                         "blurb": "RTSP location URI user id for authentication",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "user-pw": {
                         "blurb": "RTSP location URI user password for authentication",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                 "properties": {
                     "border": {
                         "blurb": "Border of the mask",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "position": {
                         "blurb": "Position of the mask",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                 "long-name": "Icecast network sink",
                 "pad-templates": {
                     "sink": {
-                        "caps": "application/ogg:\naudio/ogg:\nvideo/ogg:\naudio/mpeg:\n    mpegversion: 1\n          layer: [ 1, 3 ]\nvideo/webm:\naudio/webm:\n",
+                        "caps": "application/ogg:\naudio/ogg:\nvideo/ogg:\naudio/mpeg:\n    mpegversion: 1\n          layer: [ 1, 3 ]\n",
                         "direction": "sink",
                         "presence": "always"
                     }
                 "properties": {
                     "async": {
                         "blurb": "Go asynchronously to PAUSED",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "blocksize": {
                         "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4096",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "description": {
                         "blurb": "description",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "enable-last-sample": {
                         "blurb": "Enable the last-sample property",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "genre": {
                         "blurb": "genre",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "ip": {
                         "blurb": "IP address or hostname",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "127.0.0.1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "last-sample": {
                         "blurb": "The last sample received in the sink",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstSample",
                         "writable": false
                     },
                     "max-bitrate": {
                         "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "max-lateness": {
                         "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "mount": {
                         "blurb": "mount",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "password": {
                         "blurb": "password",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "hackme",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "port": {
                         "blurb": "port",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8000",
                         "max": "65535",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "processing-deadline": {
                         "blurb": "Maximum processing time for a buffer in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "20000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "protocol": {
                         "blurb": "Connection Protocol to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "http (3)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstShout2SendProtocol",
                         "writable": true
                     },
                     "public": {
                         "blurb": "If the stream should be listed on the server's stream directory",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Generate Quality-of-Service events upstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "render-delay": {
                         "blurb": "Additional render delay of the sink 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
                     },
                     "stats": {
                         "blurb": "Sink Statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-gst-base-sink-stats, average-rate=(double)0, dropped=(guint64)0, rendered=(guint64)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "streamname": {
                         "blurb": "name of the stream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "sync": {
                         "blurb": "Sync on the clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "throttle-time": {
                         "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "timeout": {
                         "blurb": "Max amount of time to wait for network activity, in milliseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "10000",
                         "max": "-1",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "ts-offset": {
                         "blurb": "Timestamp offset in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "url": {
                         "blurb": "the stream's homepage URL",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "username": {
                         "blurb": "username",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "source",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                 "properties": {
                     "border": {
                         "blurb": "The border width of the transition",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "depth": {
                         "blurb": "Depth of the mask in bits",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "16",
                         "max": "24",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "duration": {
                         "blurb": "Duration of the transition effect in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1000000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "invert": {
                         "blurb": "Invert transition mask",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "type": {
                         "blurb": "The type of transition to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "bar-wipe-lr (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstSMPTETransitionType",
                         "writable": true
                 "properties": {
                     "border": {
                         "blurb": "The border width of the transition",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "depth": {
                         "blurb": "Depth of the mask in bits",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "16",
                         "max": "24",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "invert": {
                         "blurb": "Invert transition mask",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "position": {
                         "blurb": "Position of the transition effect",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "type": {
                         "blurb": "The type of transition to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "bar-wipe-lr (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstSMPTEAlphaTransitionType",
                         "writable": true
                 "properties": {
                     "async": {
                         "blurb": "Go asynchronously to PAUSED",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "automatic-redirect": {
                         "blurb": "Automatically follow HTTP redirects (HTTP Status Code 3xx)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "blocksize": {
                         "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4096",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "cookies": {
                         "blurb": "HTTP request cookies",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GStrv",
                         "writable": true
                     },
                     "enable-last-sample": {
                         "blurb": "Enable the last-sample property",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "http-log-level": {
                         "blurb": "Set log level for soup's HTTP session log",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "none (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "SoupLoggerLogLevel",
                         "writable": true
                     },
                     "last-sample": {
                         "blurb": "The last sample received in the sink",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstSample",
                         "writable": false
                     },
                     "location": {
                         "blurb": "URI to send to",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "max-bitrate": {
                         "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "max-lateness": {
                         "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "processing-deadline": {
                         "blurb": "Maximum processing time for a buffer in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "20000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "proxy": {
                         "blurb": "HTTP proxy server URI",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "proxy-id": {
                         "blurb": "user id for proxy authentication",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "proxy-pw": {
                         "blurb": "user password for proxy authentication",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Generate Quality-of-Service events upstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "render-delay": {
                         "blurb": "Additional render delay of the sink 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
                     },
                     "retries": {
                         "blurb": "Maximum number of retries, zero to disable, -1 to retry forever",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "retry-delay": {
                         "blurb": "Delay in seconds between retries after a failure",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "5",
                         "max": "2147483647",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "session": {
                         "blurb": "SoupSession object to use for communication",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "SoupSession",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Sink Statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-gst-base-sink-stats, average-rate=(double)0, dropped=(guint64)0, rendered=(guint64)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "sync": {
                         "blurb": "Sync on the clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "throttle-time": {
                         "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "ts-offset": {
                         "blurb": "Timestamp offset in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "user-agent": {
                         "blurb": "Value of the User-Agent HTTP request header field",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "GStreamer souphttpclientsink ",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "user-id": {
                         "blurb": "user id for authentication",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "user-pw": {
                         "blurb": "user password for authentication",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                 "properties": {
                     "automatic-redirect": {
                         "blurb": "Automatically follow HTTP redirects (HTTP Status Code 3xx)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "blocksize": {
                         "blurb": "Size in bytes to read per buffer (-1 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4096",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "compress": {
                         "blurb": "Allow compressed content encodings",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "cookies": {
                         "blurb": "HTTP request cookies",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GStrv",
                         "writable": true
                     },
                     "do-timestamp": {
                         "blurb": "Apply current stream time to buffers",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "extra-headers": {
                         "blurb": "Extra headers to append to the HTTP request",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": true
                     },
                     "http-log-level": {
                         "blurb": "Set log level for soup's HTTP session log",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "headers (2)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "SoupLoggerLogLevel",
                         "writable": true
                     },
                     "iradio-mode": {
                         "blurb": "Enable internet radio mode (ask server to send shoutcast/icecast metadata interleaved with the actual stream data)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "is-live": {
                         "blurb": "Act like a live source",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "keep-alive": {
                         "blurb": "Use HTTP persistent connections",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "location": {
                         "blurb": "Location to read from",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "method": {
                         "blurb": "The HTTP method to use (GET, HEAD, OPTIONS, etc)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "num-buffers": {
                         "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "proxy": {
                         "blurb": "HTTP proxy server URI",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "proxy-id": {
                         "blurb": "HTTP proxy URI user id for authentication",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "proxy-pw": {
                         "blurb": "HTTP proxy URI user password for authentication",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "retries": {
                         "blurb": "Maximum number of retries until giving up (-1=infinite)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ssl-ca-file": {
                         "blurb": "Location of a SSL anchor CA file to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "ssl-strict": {
                         "blurb": "Strict SSL certificate checking",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "ssl-use-system-ca-file": {
                         "blurb": "Use system CA file",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "timeout": {
                         "blurb": "Value in seconds to timeout a blocking I/O (0 = No timeout).",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "15",
                         "max": "3600",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "tls-database": {
                         "blurb": "TLS database with anchor certificate authorities used to validate the server certificate",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GTlsDatabase",
                         "writable": true
                     },
                     "tls-interaction": {
                         "blurb": "A GTlsInteraction object to be used when the connection or certificate database need to interact with the user.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GTlsInteraction",
                         "writable": true
                     },
                     "typefind": {
                         "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "user-agent": {
                         "blurb": "Value of the User-Agent HTTP request header field",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "GStreamer souphttpsrc 1.17.0.1 ",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "user-id": {
                         "blurb": "HTTP location URI user id for authentication",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "user-pw": {
                         "blurb": "HTTP location URI user password for authentication",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                 "properties": {
                     "bands": {
                         "blurb": "Number of frequency bands",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128",
                         "max": "1073741824",
                         "min": "2",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "interval": {
                         "blurb": "Interval of time between message posts (in nanoseconds)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100000000",
                         "max": "18446744073709551615",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "message-magnitude": {
                         "blurb": "Whether to add a 'magnitude' field to the structure of any 'spectrum' element messages posted on the bus",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "message-phase": {
                         "blurb": "Whether to add a 'phase' field to the structure of any 'spectrum' element messages posted on the bus",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "multi-channel": {
                         "blurb": "Send separate results for each channel",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "post-messages": {
                         "blurb": "Whether to post a 'spectrum' element message on the bus for each passed interval",
+                        "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",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "threshold": {
                         "blurb": "dB threshold for result. All lower values will be set to this",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-60",
                         "max": "0",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "enh": {
                         "blurb": "Enable perceptual enhancement",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "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": {
                     "abr": {
                         "blurb": "Enable average bit-rate (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "Specify an encoding bit-rate (in bps). (0 = automatic)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "complexity": {
                         "blurb": "Set encoding complexity",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "dtx": {
                         "blurb": "Enable discontinuous transmission",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "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
                     },
                     "last-message": {
                         "blurb": "The last status message",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": false
                     },
                     "mark-granule": {
                         "blurb": "Apply granule semantics to buffer metadata (implies perfect-timestamp)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": false
                     },
                     "mode": {
                         "blurb": "The encoding mode",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstSpeexEncMode",
                         "writable": true
                     },
                     "nframes": {
                         "blurb": "Number of frames per buffer",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quality": {
                         "blurb": "Encoding quality",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "10",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "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
                     },
                     "vad": {
                         "blurb": "Enable voice activity detection",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "vbr": {
                         "blurb": "Enable variable bit-rate",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "ath-level": {
                         "blurb": "ATH Level in dB",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
-                        "max": "3,40282e+38",
-                        "min": "-3,40282e+38",
+                        "max": "3.40282e+38",
+                        "min": "-3.40282e+38",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "bitrate": {
                         "blurb": "Bitrate in kbit/sec (8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, 192, 224, 256, 320, 384)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "192",
                         "max": "384",
                         "min": "8",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "copyright": {
                         "blurb": "Mark as copyright",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "emphasis": {
                         "blurb": "Pre-emphasis to apply to the decoded audio",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "none (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstTwoLameEmphasis",
                         "writable": true
                     },
                     "energy-level-extension": {
                         "blurb": "Write peak PCM level to each frame",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "error-protection": {
                         "blurb": "Adds checksum to every frame",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "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
                     },
                     "mode": {
                         "blurb": "Encoding mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "joint (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstTwoLameMode",
                         "writable": true
                     },
                     "original": {
                         "blurb": "Mark as original",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "padding": {
                         "blurb": "Padding type",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "never (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstTwoLamePadding",
                         "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
                     },
                     "psymodel": {
                         "blurb": "Psychoacoustic model used to encode the audio",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "4",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "quick-mode": {
                         "blurb": "Calculate Psymodel every frames",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "quick-mode-count": {
                         "blurb": "Calculate Psymodel every n frames",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "10",
                         "max": "2147483647",
                         "min": "0",
+                        "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
                     },
                     "vbr": {
                         "blurb": "Enable variable bitrate mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "vbr-level": {
                         "blurb": "VBR Level",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "5",
                         "max": "10",
                         "min": "-10",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gfloat",
                         "writable": true
                     },
                     "vbr-max-bitrate": {
                         "blurb": "Specify maximum VBR bitrate (0=off, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, 192, 224, 256, 320, 384)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "384",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "async": {
                         "blurb": "Go asynchronously to PAUSED",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "bind-address": {
                         "blurb": "Address to bind the socket to",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "bind-port": {
                         "blurb": "Port to bind the socket to",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "blocksize": {
                         "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4096",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "close-socket": {
                         "blurb": "Close socket if passed as property on state change",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "enable-last-sample": {
                         "blurb": "Enable the last-sample property",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "last-sample": {
                         "blurb": "The last sample received in the sink",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstSample",
                         "writable": false
                     },
                     "max-bitrate": {
                         "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "max-lateness": {
                         "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "processing-deadline": {
                         "blurb": "Maximum processing time for a buffer in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "20000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Generate Quality-of-Service events upstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "render-delay": {
                         "blurb": "Additional render delay of the sink 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
                     },
                     "socket": {
                         "blurb": "Socket to use for UDP sending. (NULL == allocate)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GSocket",
                         "writable": true
                     },
                     "socket-v6": {
                         "blurb": "Socket to use for UDPv6 sending. (NULL == allocate)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GSocket",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Sink Statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-gst-base-sink-stats, average-rate=(double)0, dropped=(guint64)0, rendered=(guint64)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "sync": {
                         "blurb": "Sync on the clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "throttle-time": {
                         "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "ts-offset": {
                         "blurb": "Timestamp offset in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "async": {
                         "blurb": "Go asynchronously to PAUSED",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "auto-multicast": {
                         "blurb": "Automatically join/leave the multicast groups, FALSE means user has to do it himself",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "bind-address": {
                         "blurb": "Address to bind the socket to",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "bind-port": {
                         "blurb": "Port to bind the socket to",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "blocksize": {
                         "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4096",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "buffer-size": {
                         "blurb": "Size of the kernel send buffer in bytes, 0=default",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bytes-served": {
                         "blurb": "Total number of bytes sent to all clients",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": false
                     },
                     "bytes-to-serve": {
                         "blurb": "Number of bytes received to serve to clients",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": false
                     },
                     "clients": {
                         "blurb": "A comma separated list of host:port pairs with destinations",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "close-socket": {
                         "blurb": "Close socket if passed as property on state change",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "enable-last-sample": {
                         "blurb": "Enable the last-sample property",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "force-ipv4": {
                         "blurb": "Forcing the use of an IPv4 socket (DEPRECATED, has no effect anymore)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "last-sample": {
                         "blurb": "The last sample received in the sink",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstSample",
                         "writable": false
                     },
                     "loop": {
                         "blurb": "Used for setting the multicast loop parameter. TRUE = enable, FALSE = disable",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "max-bitrate": {
                         "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "max-lateness": {
                         "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "multicast-iface": {
                         "blurb": "The network interface on which to join the multicast group",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "processing-deadline": {
                         "blurb": "Maximum processing time for a buffer in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "20000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Generate Quality-of-Service events upstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos-dscp": {
                         "blurb": "Quality of Service, differentiated services code point (-1 default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "63",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "render-delay": {
                         "blurb": "Additional render delay of the sink 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
                     },
                     "send-duplicates": {
                         "blurb": "When a distination/port pair is added multiple times, send packets multiple times as well",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "socket": {
                         "blurb": "Socket to use for UDP sending. (NULL == allocate)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GSocket",
                         "writable": true
                     },
                     "socket-v6": {
                         "blurb": "Socket to use for UDPv6 sending. (NULL == allocate)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GSocket",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Sink Statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-gst-base-sink-stats, average-rate=(double)0, dropped=(guint64)0, rendered=(guint64)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "sync": {
                         "blurb": "Sync on the clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "throttle-time": {
                         "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "ts-offset": {
                         "blurb": "Timestamp offset in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "ttl": {
                         "blurb": "Used for setting the unicast TTL parameter",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "64",
                         "max": "255",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ttl-mc": {
                         "blurb": "Used for setting the multicast TTL parameter",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "255",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "used-socket": {
                         "blurb": "Socket currently in use for UDP sending. (NULL == no socket)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GSocket",
                         "writable": false
                     },
                     "used-socket-v6": {
                         "blurb": "Socket currently in use for UDPv6 sending. (NULL == no socket)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GSocket",
                         "writable": false
                 "properties": {
                     "async": {
                         "blurb": "Go asynchronously to PAUSED",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "auto-multicast": {
                         "blurb": "Automatically join/leave the multicast groups, FALSE means user has to do it himself",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "bind-address": {
                         "blurb": "Address to bind the socket to",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "bind-port": {
                         "blurb": "Port to bind the socket to",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "blocksize": {
                         "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4096",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "buffer-size": {
                         "blurb": "Size of the kernel send buffer in bytes, 0=default",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "bytes-served": {
                         "blurb": "Total number of bytes sent to all clients",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": false
                     },
                     "bytes-to-serve": {
                         "blurb": "Number of bytes received to serve to clients",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": false
                     },
                     "clients": {
                         "blurb": "A comma separated list of host:port pairs with destinations",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "localhost:5004",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "close-socket": {
                         "blurb": "Close socket if passed as property on state change",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "enable-last-sample": {
                         "blurb": "Enable the last-sample property",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "force-ipv4": {
                         "blurb": "Forcing the use of an IPv4 socket (DEPRECATED, has no effect anymore)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "host": {
                         "blurb": "The host/IP/Multicast group to send the packets to",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "localhost",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "last-sample": {
                         "blurb": "The last sample received in the sink",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstSample",
                         "writable": false
                     },
                     "loop": {
                         "blurb": "Used for setting the multicast loop parameter. TRUE = enable, FALSE = disable",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "max-bitrate": {
                         "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "max-lateness": {
                         "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "18446744073709551615",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "multicast-iface": {
                         "blurb": "The network interface on which to join the multicast group",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "port": {
                         "blurb": "The port to send the packets to",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "5004",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "processing-deadline": {
                         "blurb": "Maximum processing time for a buffer in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "20000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Generate Quality-of-Service events upstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "qos-dscp": {
                         "blurb": "Quality of Service, differentiated services code point (-1 default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "63",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "render-delay": {
                         "blurb": "Additional render delay of the sink 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
                     },
                     "send-duplicates": {
                         "blurb": "When a distination/port pair is added multiple times, send packets multiple times as well",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "socket": {
                         "blurb": "Socket to use for UDP sending. (NULL == allocate)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GSocket",
                         "writable": true
                     },
                     "socket-v6": {
                         "blurb": "Socket to use for UDPv6 sending. (NULL == allocate)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GSocket",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Sink Statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-gst-base-sink-stats, average-rate=(double)0, dropped=(guint64)0, rendered=(guint64)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "sync": {
                         "blurb": "Sync on the clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "throttle-time": {
                         "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "ts-offset": {
                         "blurb": "Timestamp offset in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "ttl": {
                         "blurb": "Used for setting the unicast TTL parameter",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "64",
                         "max": "255",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "ttl-mc": {
                         "blurb": "Used for setting the multicast TTL parameter",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "255",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "used-socket": {
                         "blurb": "Socket currently in use for UDP sending. (NULL == no socket)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GSocket",
                         "writable": false
                     },
                     "used-socket-v6": {
                         "blurb": "Socket currently in use for UDPv6 sending. (NULL == no socket)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GSocket",
                         "writable": false
                 "properties": {
                     "address": {
                         "blurb": "Address to receive packets for. This is equivalent to the multicast-group property for now",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.0.0.0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "auto-multicast": {
                         "blurb": "Automatically join/leave multicast groups",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "blocksize": {
                         "blurb": "Size in bytes to read per buffer (-1 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4096",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "buffer-size": {
                         "blurb": "Size of the kernel receive buffer in bytes, 0=default",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "caps": {
                         "blurb": "The caps of the source pad",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstCaps",
                         "writable": true
                     },
                     "close-socket": {
                         "blurb": "Close socket if passed as property on state change",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "do-timestamp": {
                         "blurb": "Apply current stream time to buffers",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "loop": {
                         "blurb": "Used for setting the multicast loop parameter. TRUE = enable, FALSE = disable",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mtu": {
                         "blurb": "Maximum expected packet size. This directly defines the allocationsize of the receive buffer pool.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1492",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "multicast-group": {
                         "blurb": "The Address of multicast group to join. (DEPRECATED: Use address property instead)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0.0.0.0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "multicast-iface": {
                         "blurb": "The network interface on which to join the multicast group.This allows multiple interfaces separated by comma. (\"eth0,eth1\")",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "num-buffers": {
                         "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "port": {
                         "blurb": "The port to receive the packets from, 0=allocate",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "5004",
                         "max": "65535",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "retrieve-sender-address": {
                         "blurb": "Whether to retrieve the sender address and add it to buffers as meta. Disabling this might result in minor performance improvements in certain scenarios",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "reuse": {
                         "blurb": "Enable reuse of the port",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "skip-first-bytes": {
                         "blurb": "number of bytes to skip for each udp packet",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "socket": {
                         "blurb": "Socket to use for UDP reception. (NULL == allocate)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GSocket",
                         "writable": true
                     },
                     "timeout": {
                         "blurb": "Post a message after timeout nanoseconds (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "typefind": {
                         "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "uri": {
                         "blurb": "URI in the form of udp://multicast_group:port",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "udp://0.0.0.0:5004",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "used-socket": {
                         "blurb": "Socket currently in use for UDP reception. (NULL = no socket)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GSocket",
                         "writable": false
                 "properties": {
                     "device": {
                         "blurb": "Video4Linux2 radio device location",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "/dev/radio0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "frequency": {
                         "blurb": "Station frequency in Hz",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "108000000",
                         "min": "87500000",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "async": {
                         "blurb": "Go asynchronously to PAUSED",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "blocksize": {
                         "blurb": "Size in bytes to pull per buffer (0 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4096",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "brightness": {
                         "blurb": "Picture brightness, or more precisely, the black level",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "contrast": {
                         "blurb": "Picture contrast or luma gain",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "crop-height": {
                         "blurb": "The height of the video crop; default is equal to negotiated image height",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "crop-left": {
                         "blurb": "The leftmost (x) coordinate of the video crop; top left corner of image is 0,0",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "crop-top": {
                         "blurb": "The topmost (y) coordinate of the video crop; top left corner of image is 0,0",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "crop-width": {
                         "blurb": "The width of the video crop; default is equal to negotiated image width",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "device": {
                         "blurb": "Device location",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "/dev/video1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "device-fd": {
                         "blurb": "File descriptor of the device",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": false
                     },
                     "device-name": {
                         "blurb": "Name of the device",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": false
                     },
                     "enable-last-sample": {
                         "blurb": "Enable the last-sample property",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "extra-controls": {
                         "blurb": "Extra v4l2 controls (CIDs) for the device",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "Device type flags",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstV4l2DeviceTypeFlags",
                         "writable": false
                     },
                     "force-aspect-ratio": {
                         "blurb": "When enabled, the pixel aspect ratio will be enforced",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "hue": {
                         "blurb": "Hue or color balance",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "io-mode": {
                         "blurb": "I/O mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstV4l2IOMode",
                         "writable": true
                     },
                     "last-sample": {
                         "blurb": "The last sample received in the sink",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstSample",
                         "writable": false
                     },
                     "max-bitrate": {
                         "blurb": "The maximum bits per second to render (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "max-lateness": {
                         "blurb": "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "5000000",
                         "max": "9223372036854775807",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "norm": {
                         "blurb": "video standard",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "none (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "V4L2_TV_norms",
                         "writable": true
                     },
                     "overlay-height": {
                         "blurb": "The height of the video overlay; default is equal to negotiated image height",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "overlay-left": {
                         "blurb": "The leftmost (x) coordinate of the video overlay; top left corner of screen is 0,0",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "overlay-top": {
                         "blurb": "The topmost (y) coordinate of the video overlay; top left corner of screen is 0,0",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "overlay-width": {
                         "blurb": "The width of the video overlay; default is equal to negotiated image width",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "pixel-aspect-ratio": {
                         "blurb": "Overwrite the pixel aspect ratio of the device",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "processing-deadline": {
                         "blurb": "Maximum processing time for a buffer in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "15000000",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Generate Quality-of-Service events upstream",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "render-delay": {
                         "blurb": "Additional render delay of the sink 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
                     },
                     "saturation": {
                         "blurb": "Picture color saturation or chroma gain",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "show-preroll-frame": {
                         "blurb": "Whether to render video frames during preroll",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "blurb": "Sink Statistics",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "application/x-gst-base-sink-stats, average-rate=(double)0, dropped=(guint64)0, rendered=(guint64)0;",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": false
                     },
                     "sync": {
                         "blurb": "Sync on the clock",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "throttle-time": {
                         "blurb": "The time to keep between rendered buffers (0 = disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "ts-offset": {
                         "blurb": "Timestamp offset in nanoseconds",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                 "properties": {
                     "blocksize": {
                         "blurb": "Size in bytes to read per buffer (-1 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4096",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "brightness": {
                         "blurb": "Picture brightness, or more precisely, the black level",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "contrast": {
                         "blurb": "Picture contrast or luma gain",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "device": {
                         "blurb": "Device location",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "/dev/video0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "device-fd": {
                         "blurb": "File descriptor of the device",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": false
                     },
                     "device-name": {
                         "blurb": "Name of the device",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": false
                     },
                     "do-timestamp": {
                         "blurb": "Apply current stream time to buffers",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "extra-controls": {
                         "blurb": "Extra v4l2 controls (CIDs) for the device",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstStructure",
                         "writable": true
                     },
                     "flags": {
                         "blurb": "Device type flags",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstV4l2DeviceTypeFlags",
                         "writable": false
                     },
                     "force-aspect-ratio": {
                         "blurb": "When enabled, the pixel aspect ratio will be enforced",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "hue": {
                         "blurb": "Hue or color balance",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "io-mode": {
                         "blurb": "I/O mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstV4l2IOMode",
                         "writable": true
                     },
                     "norm": {
                         "blurb": "video standard",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "none (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "V4L2_TV_norms",
                         "writable": true
                     },
                     "num-buffers": {
                         "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "pixel-aspect-ratio": {
                         "blurb": "Overwrite the pixel aspect ratio of the device",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "saturation": {
                         "blurb": "Picture color saturation or chroma gain",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "typefind": {
                         "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "alpha": {
                         "blurb": "Alpha value picture",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "1",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "autocrop": {
                         "blurb": "Auto crop",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "border-alpha": {
                         "blurb": "Alpha value of the border",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "1",
                         "max": "1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "bottom": {
                         "blurb": "Pixels to box at bottom (<0 = add a border)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "fill": {
                         "blurb": "How to fill the borders",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "black (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstVideoBoxFill",
                         "writable": true
                     },
                     "left": {
                         "blurb": "Pixels to box at left (<0  = add a border)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "right": {
                         "blurb": "Pixels to box at right (<0 = add a border)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "top": {
                         "blurb": "Pixels to box at top (<0 = add a border)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-2147483648",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "aspect-ratio": {
                         "blurb": "Target aspect-ratio of video",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0/1",
                         "max": "2147483647/1",
                         "min": "0/1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstFraction",
                         "writable": true
                     },
                     "async-handling": {
                         "blurb": "The bin will handle Asynchronous state changes",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "message-forward": {
                         "blurb": "Forwards all children messages",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "bottom": {
                         "blurb": "Pixels to crop at bottom (-1 to auto-crop)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "left": {
                         "blurb": "Pixels to crop at left (-1 to auto-crop)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "right": {
                         "blurb": "Pixels to crop at right (-1 to auto-crop)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "top": {
                         "blurb": "Pixels to crop at top (-1 to auto-crop)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                 "properties": {
                     "gamma": {
                         "blurb": "gamma",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "1",
                         "max": "10",
                         "min": "0.01",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "brightness": {
                         "blurb": "brightness",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "1",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "contrast": {
                         "blurb": "contrast",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "1",
                         "max": "2",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "hue": {
                         "blurb": "hue",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "0",
                         "max": "1",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "saturation": {
                         "blurb": "saturation",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "1",
                         "max": "2",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                 "properties": {
                     "method": {
                         "blurb": "method (deprecated, use video-direction instead)",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "none (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstVideoFlipMethod",
                         "writable": true
                     },
                     "qos": {
                         "blurb": "Handle Quality-of-Service events",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "video-direction": {
                         "blurb": "Video direction: rotation and flipping",
+                        "conditionally-available": false,
                         "construct": true,
                         "construct-only": false,
+                        "controllable": true,
                         "default": "identity (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstVideoOrientationMethod",
                         "writable": true
                 "properties": {
                     "filtersize": {
                         "blurb": "The size of the filter",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "5 (5)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstVideoMedianSize",
                         "writable": true
                     },
                     "lum-only": {
                         "blurb": "Only apply filter on luminance",
+                        "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",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "background": {
                         "blurb": "Background type",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "checker (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstVideoMixer2Background",
                         "writable": true
                 "properties": {
                     "deblocking-level": {
                         "blurb": "Deblocking level",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4",
                         "max": "16",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "noise-level": {
                         "blurb": "Noise level",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "post-processing": {
                         "blurb": "Enable post processing",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "post-processing-flags": {
                         "blurb": "Flags to control post processing",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "mfqe+demacroblock+deblock",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstVPXDecPostProcessingFlags",
                         "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
                     },
                     "threads": {
                         "blurb": "Maximum number of decoding threads",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "arnr-maxframes": {
                         "blurb": "AltRef maximum number of frames",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "arnr-strength": {
                         "blurb": "AltRef strength",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "6",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "arnr-type": {
                         "blurb": "AltRef type",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "auto-alt-ref": {
                         "blurb": "Automatically generate AltRef frames",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
+                    "bits-per-pixel": {
+                        "blurb": "Factor to convert number of pixels to bitrate value (only has an effect if target-bitrate=0)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0.0434",
+                        "max": "3.40282e+38",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gfloat",
+                        "writable": true
+                    },
                     "buffer-initial-size": {
                         "blurb": "Initial client buffer size (ms)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "buffer-optimal-size": {
                         "blurb": "Optimal client buffer size (ms)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "5000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "buffer-size": {
                         "blurb": "Client buffer size (ms)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "6000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cpu-used": {
                         "blurb": "CPU used",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-16",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cq-level": {
                         "blurb": "Constrained quality level",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "10",
                         "max": "63",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "deadline": {
                         "blurb": "Deadline per frame (usec, 0=disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "dropframe-threshold": {
                         "blurb": "Temporal resampling threshold (buf %%)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "100",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "end-usage": {
                         "blurb": "Rate control mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstVPXEncEndUsage",
                         "writable": true
                     },
                     "error-resilient": {
                         "blurb": "Error resilience flags",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstVPXEncErFlags",
                         "writable": true
                     },
                     "horizontal-scaling-mode": {
                         "blurb": "Horizontal scaling mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstVPXEncScalingMode",
                         "writable": true
                     },
                     "keyframe-max-dist": {
                         "blurb": "Maximum distance between keyframes (number of frames)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "keyframe-mode": {
                         "blurb": "Keyframe placement",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstVPXEncKfMode",
                         "writable": true
                     },
                     "lag-in-frames": {
                         "blurb": "Maximum number of frames to lag",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "25",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-intra-bitrate": {
                         "blurb": "Maximum Intra frame bitrate",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-quantizer": {
                         "blurb": "Maximum Quantizer (worst)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "63",
                         "max": "63",
                         "min": "0",
+                        "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-quantizer": {
                         "blurb": "Minimum Quantizer (best)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4",
                         "max": "63",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Multipass cache file. If stream caps reinited, multiple files will be created: file, file.1, file.2, ... and so on.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "multipass.cache",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "multipass-mode": {
                         "blurb": "Multipass encode mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "one-pass (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstVPXEncMultipassMode",
                         "writable": true
                     },
                     "noise-sensitivity": {
                         "blurb": "Noise sensisivity (frames to blur)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "6",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "overshoot": {
                         "blurb": "Datarate overshoot (max) target (%%)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "1000",
                         "min": "0",
+                        "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
                     },
                     "resize-allowed": {
                         "blurb": "Allow spatial resampling",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "resize-down-threshold": {
                         "blurb": "Downscale threshold (buf %%)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "30",
                         "max": "100",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "resize-up-threshold": {
                         "blurb": "Upscale threshold (buf %%)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "60",
                         "max": "100",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sharpness": {
                         "blurb": "Filter sharpness",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "7",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "static-threshold": {
                         "blurb": "Motion detection threshold. Recommendation is to set 100 for screen/window sharing",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "target-bitrate": {
-                        "blurb": "Target bitrate (in bits/sec)",
+                        "blurb": "Target bitrate (in bits/sec) (0: auto - bitrate depends on resolution, see \"bits-per-pixel\" property for more info)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "temporal-scalability-layer-id": {
                         "blurb": "Sequence defining coding layer membership",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GValueArray",
                         "writable": true
                     },
                     "temporal-scalability-number-layers": {
                         "blurb": "Number of coding layers to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "5",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "temporal-scalability-periodicity": {
                         "blurb": "Length of sequence that defines layer membership periodicity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "temporal-scalability-rate-decimator": {
                         "blurb": "Rate decimation factors for each layer",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GValueArray",
                         "writable": true
                     },
                     "temporal-scalability-target-bitrate": {
                         "blurb": "Target bitrates for coding layers (one per layer, decreasing)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GValueArray",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "Number of threads to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "64",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timebase": {
                         "blurb": "Fraction of one second that is the shortest interframe time - normally left as zero which will default to the framerate",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0/1",
                         "max": "2147483647/1",
                         "min": "0/1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstFraction",
                         "writable": true
                     },
                     "token-partitions": {
                         "blurb": "Number of token partitions",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1 (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstVPXEncTokenPartitions",
                         "writable": true
                     },
                     "tuning": {
                         "blurb": "Tuning",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "psnr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstVPXEncTuning",
                         "writable": true
                     },
                     "twopass-vbr-bias": {
                         "blurb": "CBR/VBR bias (0=CBR, 100=VBR)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "50",
                         "max": "100",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "twopass-vbr-maxsection": {
                         "blurb": "GOP maximum bitrate (%% target)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "400",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "twopass-vbr-minsection": {
                         "blurb": "GOP minimum bitrate (%% target)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "undershoot": {
                         "blurb": "Datarate undershoot (min) target (%%)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "100",
                         "max": "1000",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "vertical-scaling-mode": {
                         "blurb": "Vertical scaling mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstVPXEncScalingMode",
                         "writable": true
                 "properties": {
                     "deblocking-level": {
                         "blurb": "Deblocking level",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4",
                         "max": "16",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "noise-level": {
                         "blurb": "Noise level",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "post-processing": {
                         "blurb": "Enable post processing",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "post-processing-flags": {
                         "blurb": "Flags to control post processing",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "mfqe+demacroblock+deblock",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstVPXDecPostProcessingFlags",
                         "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
                     },
                     "threads": {
                         "blurb": "Maximum number of decoding threads",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                 "properties": {
                     "arnr-maxframes": {
                         "blurb": "AltRef maximum number of frames",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "15",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "arnr-strength": {
                         "blurb": "AltRef strength",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "6",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "arnr-type": {
                         "blurb": "AltRef type",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "3",
                         "max": "3",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "auto-alt-ref": {
                         "blurb": "Automatically generate AltRef frames",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
+                    "bits-per-pixel": {
+                        "blurb": "Factor to convert number of pixels to bitrate value (only has an effect if target-bitrate=0)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0.0289",
+                        "max": "3.40282e+38",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gfloat",
+                        "writable": true
+                    },
                     "buffer-initial-size": {
                         "blurb": "Initial client buffer size (ms)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "buffer-optimal-size": {
                         "blurb": "Optimal client buffer size (ms)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "5000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "buffer-size": {
                         "blurb": "Client buffer size (ms)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "6000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cpu-used": {
                         "blurb": "CPU used",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "-16",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "cq-level": {
                         "blurb": "Constrained quality level",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "10",
                         "max": "63",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "deadline": {
                         "blurb": "Deadline per frame (usec, 0=disabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint64",
                         "writable": true
                     },
                     "dropframe-threshold": {
                         "blurb": "Temporal resampling threshold (buf %%)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "100",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "end-usage": {
                         "blurb": "Rate control mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "vbr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstVPXEncEndUsage",
                         "writable": true
                     },
                     "error-resilient": {
                         "blurb": "Error resilience flags",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "(none)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstVPXEncErFlags",
                         "writable": true
                     },
                     "horizontal-scaling-mode": {
                         "blurb": "Horizontal scaling mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstVPXEncScalingMode",
                         "writable": true
                     },
                     "keyframe-max-dist": {
                         "blurb": "Maximum distance between keyframes (number of frames)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "128",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "keyframe-mode": {
                         "blurb": "Keyframe placement",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (1)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstVPXEncKfMode",
                         "writable": true
                     },
                     "lag-in-frames": {
                         "blurb": "Maximum number of frames to lag",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "25",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-intra-bitrate": {
                         "blurb": "Maximum Intra frame bitrate",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "max-quantizer": {
                         "blurb": "Maximum Quantizer (worst)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "63",
                         "max": "63",
                         "min": "0",
+                        "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-quantizer": {
                         "blurb": "Minimum Quantizer (best)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "63",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "multipass-cache-file": {
                         "blurb": "Multipass cache file. If stream caps reinited, multiple files will be created: file, file.1, file.2, ... and so on.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "multipass.cache",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "multipass-mode": {
                         "blurb": "Multipass encode mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "one-pass (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstVPXEncMultipassMode",
                         "writable": true
                     },
                     "noise-sensitivity": {
                         "blurb": "Noise sensisivity (frames to blur)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "6",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "overshoot": {
                         "blurb": "Datarate overshoot (max) target (%%)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "1000",
                         "min": "0",
+                        "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
                     },
                     "resize-allowed": {
                         "blurb": "Allow spatial resampling",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "resize-down-threshold": {
                         "blurb": "Downscale threshold (buf %%)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "30",
                         "max": "100",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "resize-up-threshold": {
                         "blurb": "Upscale threshold (buf %%)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "60",
                         "max": "100",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "sharpness": {
                         "blurb": "Filter sharpness",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "7",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "static-threshold": {
                         "blurb": "Motion detection threshold. Recommendation is to set 100 for screen/window sharing",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "target-bitrate": {
-                        "blurb": "Target bitrate (in bits/sec)",
+                        "blurb": "Target bitrate (in bits/sec) (0: auto - bitrate depends on resolution, see \"bits-per-pixel\" property for more info)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "256000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "temporal-scalability-layer-id": {
                         "blurb": "Sequence defining coding layer membership",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GValueArray",
                         "writable": true
                     },
                     "temporal-scalability-number-layers": {
                         "blurb": "Number of coding layers to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1",
                         "max": "5",
                         "min": "1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "temporal-scalability-periodicity": {
                         "blurb": "Length of sequence that defines layer membership periodicity",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "16",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "temporal-scalability-rate-decimator": {
                         "blurb": "Rate decimation factors for each layer",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GValueArray",
                         "writable": true
                     },
                     "temporal-scalability-target-bitrate": {
                         "blurb": "Target bitrates for coding layers (one per layer, decreasing)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GValueArray",
                         "writable": true
                     },
                     "threads": {
                         "blurb": "Number of threads to use",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "8",
                         "max": "64",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "timebase": {
                         "blurb": "Fraction of one second that is the shortest interframe time - normally left as zero which will default to the framerate",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0/1",
                         "max": "2147483647/1",
                         "min": "0/1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstFraction",
                         "writable": true
                     },
                     "token-partitions": {
                         "blurb": "Number of token partitions",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "1 (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstVPXEncTokenPartitions",
                         "writable": true
                     },
                     "tuning": {
                         "blurb": "Tuning",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "psnr (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstVPXEncTuning",
                         "writable": true
                     },
                     "twopass-vbr-bias": {
                         "blurb": "CBR/VBR bias (0=CBR, 100=VBR)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "50",
                         "max": "100",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "twopass-vbr-maxsection": {
                         "blurb": "GOP maximum bitrate (%% target)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "2000",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "twopass-vbr-minsection": {
                         "blurb": "GOP minimum bitrate (%% target)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "undershoot": {
                         "blurb": "Datarate undershoot (min) target (%%)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "25",
                         "max": "1000",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "vertical-scaling-mode": {
                         "blurb": "Vertical scaling mode",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstVPXEncScalingMode",
                         "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": {
                     "bitrate": {
                         "blurb": "Try to encode with this average bitrate (bits/sec). This enables lossy encoding, values smaller than 24000 disable it again.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "9600000",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "bits-per-sample": {
                         "blurb": "Try to encode with this amount of bits per sample. This enables lossy encoding, values smaller than 2.0 disable it again.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "24",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gdouble",
                         "writable": true
                     },
                     "correction-mode": {
                         "blurb": "Use this mode for the correction stream. Only works in lossy mode!",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "off (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstWavpackEncCorrectionMode",
                         "writable": true
                     },
                     "extra-processing": {
                         "blurb": "Use better but slower filters for better compression/quality.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "6",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "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-mode": {
                         "blurb": "Use this joint-stereo mode.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "auto (0)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstWavpackEncJSMode",
                         "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
                     },
                     "md5": {
                         "blurb": "Store MD5 hash of raw samples within the file.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "mode": {
                         "blurb": "Speed versus compression tradeoff.",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "normal (2)",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "GstWavpackEncMode",
                         "writable": true
                     },
                     "perfect-timestamp": {
                         "blurb": "Favour perfect timestamps over tracking upstream timestamps",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "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
                 "properties": {
                     "ignore-length": {
                         "blurb": "Ignore length from the Wave header",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 "properties": {
                     "blocksize": {
                         "blurb": "Size in bytes to read per buffer (-1 = default)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "4096",
                         "max": "-1",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "display-name": {
                         "blurb": "X Display Name",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     },
                     "do-timestamp": {
                         "blurb": "Apply current stream time to buffers",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "endx": {
                         "blurb": "X coordinate of bottom right corner of area to be recorded (0 for bottom right of screen)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "endy": {
                         "blurb": "Y coordinate of bottom right corner of area to be recorded (0 for bottom right of screen)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "num-buffers": {
                         "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
                     "remote": {
                         "blurb": "Whether the display is remote",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "show-pointer": {
                         "blurb": "Show mouse pointer (if XFixes extension enabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "startx": {
                         "blurb": "X coordinate of top left corner of area to be recorded (0 for top left of screen)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "starty": {
                         "blurb": "Y coordinate of top left corner of area to be recorded (0 for top left of screen)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "2147483647",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "typefind": {
                         "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "use-damage": {
                         "blurb": "Use XDamage (if XDamage extension enabled)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "true",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "xid": {
                         "blurb": "Window XID to capture from",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint64",
                         "writable": true
                     },
                     "xname": {
                         "blurb": "Window name to capture from",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
+                        "controllable": false,
                         "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gchararray",
                         "writable": true
                     }
                 },
                 "properties": {
+                    "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
+                    },
                     "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