digraph pipeline {
  rankdir=LR;
  fontname="sans";
  fontsize="10";
  labelloc=t;
  nodesep=.1;
  ranksep=.2;
  label="<GstPipeline>\nencoder\n[>]";
  node [style="filled,rounded", shape=box, fontsize="9", fontname="sans", margin="0.0,0.0"];
  edge [labelfontsize="6", fontsize="9", fontname="monospace"];
  
  legend [
    pos="0,0!",
    margin="0.05,0.05",
    style="filled",
    label="Legend\lElement-States: [~] void-pending, [0] null, [-] ready, [=] paused, [>] playing\lPad-Activation: [-] none, [>] push, [<] pull\lPad-Flags: [b]locked, [f]lushing, [b]locking, [E]OS; upper-case is set\lPad-Task: [T] has started task, [t] has paused task\l",
  ];
  subgraph cluster_videosink_0x878020 {
    fontname="Bitstream Vera Sans";
    fontsize="8";
    style="filled,rounded";
    color=black;
    label="GstBin\nvideosink\n[>]\nparent=(GstPipeline) encoder";
    subgraph cluster_videosink_0x878020_sink {
      label="";
      style="invis";
      _proxypad2_0x876d00 [color=black, fillcolor="#ddddff", label="proxypad2\n[>][bfb]", height="0.2", style="filled,solid"];
    videosink_0x878020_sink_0x8aa540 -> _proxypad2_0x876d00 [style=dashed, minlen=0]
      videosink_0x878020_sink_0x8aa540 [color=black, fillcolor="#ddddff", label="sink\n[>][bfb]", height="0.2", style="filled,solid"];
    }

    fillcolor="#ffffff";
    subgraph cluster_fdsink0_0x8a9b50 {
      fontname="Bitstream Vera Sans";
      fontsize="8";
      style="filled,rounded";
      color=black;
      label="GstFdSink\nfdsink0\n[>]\nparent=(GstBin) videosink\nsync=FALSE\nenable-last-sample=FALSE\nfd=20";
      subgraph cluster_fdsink0_0x8a9b50_sink {
        label="";
        style="invis";
        fdsink0_0x8a9b50_sink_0x87b240 [color=black, fillcolor="#aaaaff", label="sink\n[>][bfb]", height="0.2", style="filled,solid"];
      }

      fillcolor="#aaaaff";
    }

    subgraph cluster_encodebin_0x8781c0 {
      fontname="Bitstream Vera Sans";
      fontsize="8";
      style="filled,rounded";
      color=black;
      label="GstBin\nencodebin\n[>]\nparent=(GstBin) videosink";
      subgraph cluster_encodebin_0x8781c0_sink {
        label="";
        style="invis";
        _proxypad0_0x876860 [color=black, fillcolor="#ddddff", label="proxypad0\n[>][bfb]", height="0.2", style="filled,solid"];
      encodebin_0x8781c0_video_0_0x8aa060 -> _proxypad0_0x876860 [style=dashed, minlen=0]
        encodebin_0x8781c0_video_0_0x8aa060 [color=black, fillcolor="#ddddff", label="video_0\n[>][bfb]", height="0.2", style="filled,solid"];
      }

      subgraph cluster_encodebin_0x8781c0_src {
        label="";
        style="invis";
        _proxypad1_0x876ab0 [color=black, fillcolor="#ffdddd", label="proxypad1\n[>][bfb]", height="0.2", style="filled,solid"];
      _proxypad1_0x876ab0 -> encodebin_0x8781c0_src_0x8aa2d0 [style=dashed, minlen=0]
        encodebin_0x8781c0_src_0x8aa2d0 [color=black, fillcolor="#ffdddd", label="src\n[>][bfb]", height="0.2", style="filled,solid"];
      }

      encodebin_0x8781c0_video_0_0x8aa060 -> encodebin_0x8781c0_src_0x8aa2d0 [style="invis"];
      fillcolor="#ffffff";
      subgraph cluster_mp4mux0_0x8a00d0 {
        fontname="Bitstream Vera Sans";
        fontsize="8";
        style="filled,rounded";
        color=black;
        label="GstMP4Mux\nmp4mux0\n[>]\nparent=(GstBin) encodebin\nmovie-timescale=3000\nfaststart-file=\"/tmp/qtmux-243141720\"\nreserved-duration-remaining=18446744073709551615";
        subgraph cluster_mp4mux0_0x8a00d0_sink {
          label="";
          style="invis";
          mp4mux0_0x8a00d0_video_0_0x87b000 [color=black, fillcolor="#aaaaff", label="video_0\n[>][bfb]", height="0.2", style="filled,dashed"];
        }

        subgraph cluster_mp4mux0_0x8a00d0_src {
          label="";
          style="invis";
          mp4mux0_0x8a00d0_src_0x87adc0 [color=black, fillcolor="#ffaaaa", label="src\n[>][bfb]", height="0.2", style="filled,solid"];
        }

        mp4mux0_0x8a00d0_video_0_0x87b000 -> mp4mux0_0x8a00d0_src_0x87adc0 [style="invis"];
        fillcolor="#aaffaa";
      }

      mp4mux0_0x8a00d0_src_0x87adc0 -> _proxypad1_0x876ab0 [label="video/quicktime\l             variant: iso\l"]
      subgraph cluster_vaapiencodeh264_0_0x892b70 {
        fontname="Bitstream Vera Sans";
        fontsize="8";
        style="filled,rounded";
        color=black;
        label="GstVaapiEncodeH264\nvaapiencodeh264-0\n[>]\nparent=(GstBin) encodebin";
        subgraph cluster_vaapiencodeh264_0_0x892b70_sink {
          label="";
          style="invis";
          vaapiencodeh264_0_0x892b70_sink_0x87a940 [color=black, fillcolor="#aaaaff", label="sink\n[>][bfb]", height="0.2", style="filled,solid"];
        }

        subgraph cluster_vaapiencodeh264_0_0x892b70_src {
          label="";
          style="invis";
          vaapiencodeh264_0_0x892b70_src_0x87ab80 [color=black, fillcolor="#ffaaaa", label="src\n[>][bfb][T]", height="0.2", style="filled,solid"];
        }

        vaapiencodeh264_0_0x892b70_sink_0x87a940 -> vaapiencodeh264_0_0x892b70_src_0x87ab80 [style="invis"];
        fillcolor="#aaffaa";
      }

      vaapiencodeh264_0_0x892b70_src_0x87ab80 -> mp4mux0_0x8a00d0_video_0_0x87b000 [label="video/x-h264\l       stream-format: avc\l           alignment: au\l               width: 1920\l              height: 1080\l  pixel-aspect-ratio: 1/1\l           framerate: 30/1\l          codec_data: 01640028ffe1001c676400...\l      interlace-mode: progressive\l         colorimetry: bt601\l"]
      subgraph cluster_videoconvert0_0x884300 {
        fontname="Bitstream Vera Sans";
        fontsize="8";
        style="filled,rounded";
        color=black;
        label="GstVideoConvert\nvideoconvert0\n[>]\nparent=(GstBin) encodebin\nqos=TRUE";
        subgraph cluster_videoconvert0_0x884300_sink {
          label="";
          style="invis";
          videoconvert0_0x884300_sink_0x87a4c0 [color=black, fillcolor="#aaaaff", label="sink\n[>][bfb]", height="0.2", style="filled,solid"];
        }

        subgraph cluster_videoconvert0_0x884300_src {
          label="";
          style="invis";
          videoconvert0_0x884300_src_0x87a700 [color=black, fillcolor="#ffaaaa", label="src\n[>][bfb]", height="0.2", style="filled,solid"];
        }

        videoconvert0_0x884300_sink_0x87a4c0 -> videoconvert0_0x884300_src_0x87a700 [style="invis"];
        fillcolor="#aaffaa";
      }

      videoconvert0_0x884300_src_0x87a700 -> vaapiencodeh264_0_0x892b70_sink_0x87a940 [label="video/x-raw\l               width: 1920\l              height: 1080\l              format: YV12\l           framerate: 30/1\l  pixel-aspect-ratio: 1/1\l      interlace-mode: progressive\l         colorimetry: bt601\l"]
      subgraph cluster_videorate0_0x665ad0 {
        fontname="Bitstream Vera Sans";
        fontsize="8";
        style="filled,rounded";
        color=black;
        label="GstVideoRate\nvideorate0\n[>]\nparent=(GstBin) encodebin\nin=4\nout=3\nskip-to-first=TRUE";
        subgraph cluster_videorate0_0x665ad0_sink {
          label="";
          style="invis";
          videorate0_0x665ad0_sink_0x87a040 [color=black, fillcolor="#aaaaff", label="sink\n[>][bfb]", height="0.2", style="filled,solid"];
        }

        subgraph cluster_videorate0_0x665ad0_src {
          label="";
          style="invis";
          videorate0_0x665ad0_src_0x87a280 [color=black, fillcolor="#ffaaaa", label="src\n[>][bfb]", height="0.2", style="filled,solid"];
        }

        videorate0_0x665ad0_sink_0x87a040 -> videorate0_0x665ad0_src_0x87a280 [style="invis"];
        fillcolor="#aaffaa";
      }

      videorate0_0x665ad0_src_0x87a280 -> videoconvert0_0x884300_sink_0x87a4c0 [label="video/x-raw\l               width: 1920\l              height: 1080\l              format: YV12\l           framerate: 30/1\l  pixel-aspect-ratio: 1/1\l      interlace-mode: progressive\l         colorimetry: bt601\l"]
      subgraph cluster_queue1_0x86a640 {
        fontname="Bitstream Vera Sans";
        fontsize="8";
        style="filled,rounded";
        color=black;
        label="GstQueue\nqueue1\n[>]\nparent=(GstBin) encodebin\nmax-size-buffers=10\nmax-size-bytes=124416000\nmax-size-time=0\nleaky=upstream";
        subgraph cluster_queue1_0x86a640_sink {
          label="";
          style="invis";
          queue1_0x86a640_sink_0x85db70 [color=black, fillcolor="#aaaaff", label="sink\n[>][bfb]", height="0.2", style="filled,solid"];
        }

        subgraph cluster_queue1_0x86a640_src {
          label="";
          style="invis";
          queue1_0x86a640_src_0x85ddb0 [color=black, fillcolor="#ffaaaa", label="src\n[>][bfb][T]", height="0.2", style="filled,solid"];
        }

        queue1_0x86a640_sink_0x85db70 -> queue1_0x86a640_src_0x85ddb0 [style="invis"];
        fillcolor="#aaffaa";
      }

      _proxypad0_0x876860 -> queue1_0x86a640_sink_0x85db70 [label="video/x-raw\l               width: 1920\l              height: 1080\l              format: YV12\l           framerate: 30/1\l  pixel-aspect-ratio: 1/1\l      interlace-mode: progressive\l         colorimetry: bt601\l"]
      queue1_0x86a640_src_0x85ddb0 -> videorate0_0x665ad0_sink_0x87a040 [label="video/x-raw\l               width: 1920\l              height: 1080\l              format: YV12\l           framerate: 30/1\l  pixel-aspect-ratio: 1/1\l      interlace-mode: progressive\l         colorimetry: bt601\l"]
    }

    _proxypad2_0x876d00 -> encodebin_0x8781c0_video_0_0x8aa060 [label="video/x-raw\l               width: 1920\l              height: 1080\l              format: YV12\l           framerate: 30/1\l  pixel-aspect-ratio: 1/1\l      interlace-mode: progressive\l         colorimetry: bt601\l"]
    encodebin_0x8781c0_src_0x8aa2d0 -> fdsink0_0x8a9b50_sink_0x87b240 [label="video/quicktime\l             variant: iso\l"]
  }

  subgraph cluster_rendersink_0x8742d0 {
    fontname="Bitstream Vera Sans";
    fontsize="8";
    style="filled,rounded";
    color=black;
    label="GstAppSink\nrendersink\n[>]\nparent=(GstPipeline) encoder\nsync=FALSE\nlast-sample=((GstSample*) 0x81bb20)\neos=FALSE\nemit-signals=TRUE\nmax-buffers=1\ndrop=TRUE";
    subgraph cluster_rendersink_0x8742d0_sink {
      label="";
      style="invis";
      rendersink_0x8742d0_sink_0x85d930 [color=black, fillcolor="#aaaaff", label="sink\n[>][bfb]", height="0.2", style="filled,solid"];
    }

    fillcolor="#aaaaff";
  }

  subgraph cluster_videovalve_0x872000 {
    fontname="Bitstream Vera Sans";
    fontsize="8";
    style="filled,rounded";
    color=black;
    label="GstValve\nvideovalve\n[>]\nparent=(GstPipeline) encoder";
    subgraph cluster_videovalve_0x872000_sink {
      label="";
      style="invis";
      videovalve_0x872000_sink_0x85d6f0 [color=black, fillcolor="#aaaaff", label="sink\n[>][bfb]", height="0.2", style="filled,solid"];
    }

    subgraph cluster_videovalve_0x872000_src {
      label="";
      style="invis";
      videovalve_0x872000_src_0x85d4b0 [color=black, fillcolor="#ffaaaa", label="src\n[>][bfb]", height="0.2", style="filled,solid"];
    }

    videovalve_0x872000_sink_0x85d6f0 -> videovalve_0x872000_src_0x85d4b0 [style="invis"];
    fillcolor="#aaffaa";
  }

  videovalve_0x872000_src_0x85d4b0 -> queue_encoder_0x86a040_sink_0x85c970 [label="video/x-raw\l               width: 1920\l              height: 1080\l              format: YV12\l           framerate: 30/1\l  pixel-aspect-ratio: 1/1\l      interlace-mode: progressive\l         colorimetry: bt601\l"]
  subgraph cluster_snapsink_0x870de0 {
    fontname="Bitstream Vera Sans";
    fontsize="8";
    style="filled,rounded";
    color=black;
    label="GstFakeSink\nsnapsink\n[>]\nparent=(GstPipeline) encoder\nsync=FALSE\nlast-sample=((GstSample*) 0x81bc00)";
    subgraph cluster_snapsink_0x870de0_sink {
      label="";
      style="invis";
      snapsink_0x870de0_sink_0x85d270 [color=black, fillcolor="#aaaaff", label="sink\n[>][bfb]", height="0.2", style="filled,solid"];
    }

    fillcolor="#aaaaff";
  }

  subgraph cluster_queue0_0x86a340 {
    fontname="Bitstream Vera Sans";
    fontsize="8";
    style="filled,rounded";
    color=black;
    label="GstQueue\nqueue0\n[>]\nparent=(GstPipeline) encoder\nmax-size-buffers=10\nmax-size-bytes=0\nmax-size-time=0\nleaky=upstream";
    subgraph cluster_queue0_0x86a340_sink {
      label="";
      style="invis";
      queue0_0x86a340_sink_0x85cdf0 [color=black, fillcolor="#aaaaff", label="sink\n[>][bfb]", height="0.2", style="filled,solid"];
    }

    subgraph cluster_queue0_0x86a340_src {
      label="";
      style="invis";
      queue0_0x86a340_src_0x85d030 [color=black, fillcolor="#ffaaaa", label="src\n[>][bfb][T]", height="0.2", style="filled,solid"];
    }

    queue0_0x86a340_sink_0x85cdf0 -> queue0_0x86a340_src_0x85d030 [style="invis"];
    fillcolor="#aaffaa";
  }

  queue0_0x86a340_src_0x85d030 -> snapsink_0x870de0_sink_0x85d270 [label="video/x-raw\l               width: 1920\l              height: 1080\l              format: YV12\l           framerate: 30/1\l  pixel-aspect-ratio: 1/1\l      interlace-mode: progressive\l         colorimetry: bt601\l"]
  subgraph cluster_queue_encoder_0x86a040 {
    fontname="Bitstream Vera Sans";
    fontsize="8";
    style="filled,rounded";
    color=black;
    label="GstQueue\nqueue_encoder\n[>]\nparent=(GstPipeline) encoder\nmax-size-buffers=10\nmax-size-bytes=0\nmax-size-time=0\nleaky=upstream";
    subgraph cluster_queue_encoder_0x86a040_sink {
      label="";
      style="invis";
      queue_encoder_0x86a040_sink_0x85c970 [color=black, fillcolor="#aaaaff", label="sink\n[>][bfb]", height="0.2", style="filled,solid"];
    }

    subgraph cluster_queue_encoder_0x86a040_src {
      label="";
      style="invis";
      queue_encoder_0x86a040_src_0x85cbb0 [color=black, fillcolor="#ffaaaa", label="src\n[>][bfb][T]", height="0.2", style="filled,solid"];
    }

    queue_encoder_0x86a040_sink_0x85c970 -> queue_encoder_0x86a040_src_0x85cbb0 [style="invis"];
    fillcolor="#aaffaa";
  }

  queue_encoder_0x86a040_src_0x85cbb0 -> videosink_0x878020_sink_0x8aa540 [label="video/x-raw\l               width: 1920\l              height: 1080\l              format: YV12\l           framerate: 30/1\l  pixel-aspect-ratio: 1/1\l      interlace-mode: progressive\l         colorimetry: bt601\l"]
  subgraph cluster_tee0_0x868000 {
    fontname="Bitstream Vera Sans";
    fontsize="8";
    style="filled,rounded";
    color=black;
    label="GstTee\ntee0\n[>]\nparent=(GstPipeline) encoder\nnum-src-pads=3";
    subgraph cluster_tee0_0x868000_sink {
      label="";
      style="invis";
      tee0_0x868000_sink_0x85c730 [color=black, fillcolor="#aaaaff", label="sink\n[>][bfb]", height="0.2", style="filled,solid"];
    }

    subgraph cluster_tee0_0x868000_src {
      label="";
      style="invis";
      tee0_0x868000_src_0_0x876160 [color=black, fillcolor="#ffaaaa", label="src_0\n[>][bfb]", height="0.2", style="filled,dashed"];
      tee0_0x868000_src_1_0x8763b0 [color=black, fillcolor="#ffaaaa", label="src_1\n[>][bfb]", height="0.2", style="filled,dashed"];
      tee0_0x868000_src_2_0x876600 [color=black, fillcolor="#ffaaaa", label="src_2\n[>][bfb]", height="0.2", style="filled,dashed"];
    }

    tee0_0x868000_sink_0x85c730 -> tee0_0x868000_src_0_0x876160 [style="invis"];
    fillcolor="#aaffaa";
  }

  tee0_0x868000_src_0_0x876160 -> videovalve_0x872000_sink_0x85d6f0 [label="video/x-raw\l               width: 1920\l              height: 1080\l              format: YV12\l           framerate: 30/1\l  pixel-aspect-ratio: 1/1\l      interlace-mode: progressive\l         colorimetry: bt601\l"]
  tee0_0x868000_src_1_0x8763b0 -> queue0_0x86a340_sink_0x85cdf0 [label="video/x-raw\l               width: 1920\l              height: 1080\l              format: YV12\l           framerate: 30/1\l  pixel-aspect-ratio: 1/1\l      interlace-mode: progressive\l         colorimetry: bt601\l"]
  tee0_0x868000_src_2_0x876600 -> rendersink_0x8742d0_sink_0x85d930 [label="video/x-raw\l               width: 1920\l              height: 1080\l              format: YV12\l           framerate: 30/1\l  pixel-aspect-ratio: 1/1\l      interlace-mode: progressive\l         colorimetry: bt601\l"]
  subgraph cluster_capsfilter0_0x8661b0 {
    fontname="Bitstream Vera Sans";
    fontsize="8";
    style="filled,rounded";
    color=black;
    label="GstCapsFilter\ncapsfilter0\n[>]\nparent=(GstPipeline) encoder\ncaps=video/x-raw, width=(int)1920, height=(int)1080, format=(string)YV12, framerate=(…";
    subgraph cluster_capsfilter0_0x8661b0_sink {
      label="";
      style="invis";
      capsfilter0_0x8661b0_sink_0x85c2b0 [color=black, fillcolor="#aaaaff", label="sink\n[>][bfb]", height="0.2", style="filled,solid"];
    }

    subgraph cluster_capsfilter0_0x8661b0_src {
      label="";
      style="invis";
      capsfilter0_0x8661b0_src_0x85c4f0 [color=black, fillcolor="#ffaaaa", label="src\n[>][bfb]", height="0.2", style="filled,solid"];
    }

    capsfilter0_0x8661b0_sink_0x85c2b0 -> capsfilter0_0x8661b0_src_0x85c4f0 [style="invis"];
    fillcolor="#aaffaa";
  }

  capsfilter0_0x8661b0_src_0x85c4f0 -> tee0_0x868000_sink_0x85c730 [label="video/x-raw\l               width: 1920\l              height: 1080\l              format: YV12\l           framerate: 30/1\l  pixel-aspect-ratio: 1/1\l      interlace-mode: progressive\l         colorimetry: bt601\l"]
  subgraph cluster_v4l2src0_0x85a290 {
    fontname="Bitstream Vera Sans";
    fontsize="8";
    style="filled,rounded";
    color=black;
    label="GstV4l2Src\nv4l2src0\n[>]\nparent=(GstPipeline) encoder\ndevice-name=\"00 Pro Capture HDMI 4K+\"\ndevice-fd=11\nflags=capture\ncontrast=100\nsaturation=100\npixel-aspect-ratio=NULL";
    subgraph cluster_v4l2src0_0x85a290_src {
      label="";
      style="invis";
      v4l2src0_0x85a290_src_0x85c070 [color=black, fillcolor="#ffaaaa", label="src\n[>][bfb][T]", height="0.2", style="filled,solid"];
    }

    fillcolor="#ffaaaa";
  }

  v4l2src0_0x85a290_src_0x85c070 -> capsfilter0_0x8661b0_sink_0x85c2b0 [label="video/x-raw\l               width: 1920\l              height: 1080\l              format: YV12\l           framerate: 30/1\l  pixel-aspect-ratio: 1/1\l      interlace-mode: progressive\l         colorimetry: bt601\l"]
}
