diff --git a/pipeline/pipeline.dot b/pipeline/pipeline.dot new file mode 100644 index 0000000..a7d9f1d --- /dev/null +++ b/pipeline/pipeline.dot @@ -0,0 +1,193 @@ +digraph pipeline { + rankdir=LR; + fontname="sans"; + fontsize="10"; + labelloc=t; + nodesep=.1; + ranksep=.2; + label="\npeekpipeline\n[0]"; + 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_0x55ef7a30c020 { + fontname="Bitstream Vera Sans"; + fontsize="8"; + style="filled,rounded"; + color=black; + label="GstAutoVideoSink\nvideosink\n[0]\nfilter-caps=video/x-raw"; + subgraph cluster_videosink_0x55ef7a30c020_sink { + label=""; + style="invis"; + _proxypad1_0x55ef7a2fe320 [color=black, fillcolor="#ddddff", label="proxypad1\n[-][bfb]", height="0.2", style="filled,solid"]; + videosink_0x55ef7a30c020_sink_0x55ef7a2fa2c0 -> _proxypad1_0x55ef7a2fe320 [style=dashed, minlen=0] + videosink_0x55ef7a30c020_sink_0x55ef7a2fa2c0 [color=black, fillcolor="#ddddff", label="sink\n[-][bFb]", height="0.2", style="filled,solid"]; + } + + fillcolor="#ffffff"; + subgraph cluster_fake_video_sink_0x55ef7a30e020 { + fontname="Bitstream Vera Sans"; + fontsize="8"; + style="filled,rounded"; + color=black; + label="GstFakeSink\nfake-video-sink\n[0]"; + subgraph cluster_fake_video_sink_0x55ef7a30e020_sink { + label=""; + style="invis"; + fake_video_sink_0x55ef7a30e020_sink_0x55ef7a2e95a0 [color=black, fillcolor="#aaaaff", label="sink\n[-][bFb]", height="0.2", style="filled,solid"]; + } + + fillcolor="#aaaaff"; + } + + _proxypad1_0x55ef7a2fe320 -> fake_video_sink_0x55ef7a30e020_sink_0x55ef7a2e95a0 [label="ANY"] + } + + subgraph cluster_appsink_0x55ef7a309fa0 { + fontname="Bitstream Vera Sans"; + fontsize="8"; + style="filled,rounded"; + color=black; + label="GstAppSink\nappsink\n[0]\ncaps=video/x-raw\nemit-signals=TRUE"; + subgraph cluster_appsink_0x55ef7a309fa0_sink { + label=""; + style="invis"; + appsink_0x55ef7a309fa0_sink_0x55ef7a2e9350 [color=black, fillcolor="#aaaaff", label="sink\n[-][bFb]", height="0.2", style="filled,solid"]; + } + + fillcolor="#aaaaff"; + } + + subgraph cluster_videoqueue_0x55ef7a3044a0 { + fontname="Bitstream Vera Sans"; + fontsize="8"; + style="filled,rounded"; + color=black; + label="GstQueue\nvideoqueue\n[0]"; + subgraph cluster_videoqueue_0x55ef7a3044a0_sink { + label=""; + style="invis"; + videoqueue_0x55ef7a3044a0_sink_0x55ef7a2e8eb0 [color=black, fillcolor="#aaaaff", label="sink\n[-][bFb]", height="0.2", style="filled,solid"]; + } + + subgraph cluster_videoqueue_0x55ef7a3044a0_src { + label=""; + style="invis"; + videoqueue_0x55ef7a3044a0_src_0x55ef7a2e9100 [color=black, fillcolor="#ffaaaa", label="src\n[-][bFb]", height="0.2", style="filled,solid"]; + } + + videoqueue_0x55ef7a3044a0_sink_0x55ef7a2e8eb0 -> videoqueue_0x55ef7a3044a0_src_0x55ef7a2e9100 [style="invis"]; + fillcolor="#aaffaa"; + } + + videoqueue_0x55ef7a3044a0_src_0x55ef7a2e9100 -> videosink_0x55ef7a30c020_sink_0x55ef7a2fa2c0 [label="ANY"] + subgraph cluster_appqueue_0x55ef7a3041a0 { + fontname="Bitstream Vera Sans"; + fontsize="8"; + style="filled,rounded"; + color=black; + label="GstQueue\nappqueue\n[0]"; + subgraph cluster_appqueue_0x55ef7a3041a0_sink { + label=""; + style="invis"; + appqueue_0x55ef7a3041a0_sink_0x55ef7a2e8a10 [color=black, fillcolor="#aaaaff", label="sink\n[-][bFb]", height="0.2", style="filled,solid"]; + } + + subgraph cluster_appqueue_0x55ef7a3041a0_src { + label=""; + style="invis"; + appqueue_0x55ef7a3041a0_src_0x55ef7a2e8c60 [color=black, fillcolor="#ffaaaa", label="src\n[-][bFb]", height="0.2", style="filled,solid"]; + } + + appqueue_0x55ef7a3041a0_sink_0x55ef7a2e8a10 -> appqueue_0x55ef7a3041a0_src_0x55ef7a2e8c60 [style="invis"]; + fillcolor="#aaffaa"; + } + + appqueue_0x55ef7a3041a0_src_0x55ef7a2e8c60 -> appsink_0x55ef7a309fa0_sink_0x55ef7a2e9350 [label="ANY"] + subgraph cluster_tee_0x55ef7a301000 { + fontname="Bitstream Vera Sans"; + fontsize="8"; + style="filled,rounded"; + color=black; + label="GstTee\ntee\n[0]\nnum-src-pads=2"; + subgraph cluster_tee_0x55ef7a301000_sink { + label=""; + style="invis"; + tee_0x55ef7a301000_sink_0x55ef7a2e87c0 [color=black, fillcolor="#aaaaff", label="sink\n[-][bFb]", height="0.2", style="filled,solid"]; + } + + subgraph cluster_tee_0x55ef7a301000_src { + label=""; + style="invis"; + tee_0x55ef7a301000_src_0_0x55ef7a2fe570 [color=black, fillcolor="#ffaaaa", label="src_0\n[-][bFb]", height="0.2", style="filled,dashed"]; + tee_0x55ef7a301000_src_1_0x55ef7a2fe7d0 [color=black, fillcolor="#ffaaaa", label="src_1\n[-][bFb]", height="0.2", style="filled,dashed"]; + } + + tee_0x55ef7a301000_sink_0x55ef7a2e87c0 -> tee_0x55ef7a301000_src_0_0x55ef7a2fe570 [style="invis"]; + fillcolor="#aaffaa"; + } + + tee_0x55ef7a301000_src_0_0x55ef7a2fe570 -> appqueue_0x55ef7a3041a0_sink_0x55ef7a2e8a10 [label="ANY"] + tee_0x55ef7a301000_src_1_0x55ef7a2fe7d0 -> videoqueue_0x55ef7a3044a0_sink_0x55ef7a2e8eb0 [label="ANY"] + subgraph cluster_decode_0x55ef7a2f20c0 { + fontname="Bitstream Vera Sans"; + fontsize="8"; + style="filled,rounded"; + color=black; + label="GstDecodeBin\ndecode\n[0]\ncaps=video/x-raw(ANY); audio/x-raw(ANY); text/x-raw(ANY); subpicture/x-dvd; subpictur…"; + subgraph cluster_decode_0x55ef7a2f20c0_sink { + label=""; + style="invis"; + _proxypad0_0x55ef7a2fe0c0 [color=black, fillcolor="#ddddff", label="proxypad0\n[>][bfb]", height="0.2", style="filled,solid"]; + decode_0x55ef7a2f20c0_sink_0x55ef7a2fa050 -> _proxypad0_0x55ef7a2fe0c0 [style=dashed, minlen=0] + decode_0x55ef7a2f20c0_sink_0x55ef7a2fa050 [color=black, fillcolor="#ddddff", label="sink\n[>][bfb]", height="0.2", style="filled,solid"]; + } + + fillcolor="#ffffff"; + subgraph cluster_typefind_0x55ef7a2f5060 { + fontname="Bitstream Vera Sans"; + fontsize="8"; + style="filled,rounded"; + color=black; + label="GstTypeFindElement\ntypefind\n[0]"; + subgraph cluster_typefind_0x55ef7a2f5060_sink { + label=""; + style="invis"; + typefind_0x55ef7a2f5060_sink_0x55ef7a2e8320 [color=black, fillcolor="#aaaaff", label="sink\n[-][bFb]", height="0.2", style="filled,solid"]; + } + + subgraph cluster_typefind_0x55ef7a2f5060_src { + label=""; + style="invis"; + typefind_0x55ef7a2f5060_src_0x55ef7a2e8570 [color=black, fillcolor="#ffaaaa", label="src\n[-][bFb]", height="0.2", style="filled,solid"]; + } + + typefind_0x55ef7a2f5060_sink_0x55ef7a2e8320 -> typefind_0x55ef7a2f5060_src_0x55ef7a2e8570 [style="invis"]; + fillcolor="#aaffaa"; + } + + _proxypad0_0x55ef7a2fe0c0 -> typefind_0x55ef7a2f5060_sink_0x55ef7a2e8320 [label="ANY"] + } + + subgraph cluster_src_0x55ef7a2e6110 { + fontname="Bitstream Vera Sans"; + fontsize="8"; + style="filled,rounded"; + color=black; + label="GstFileSrc\nsrc\n[0]\nlocation=\"/home/moritz/Downloads/Big_Buck_Bunny_1080_10s_10MB.mp4\""; + subgraph cluster_src_0x55ef7a2e6110_src { + label=""; + style="invis"; + src_0x55ef7a2e6110_src_0x55ef7a2e80d0 [color=black, fillcolor="#ffaaaa", label="src\n[-][bFb]", height="0.2", style="filled,solid"]; + } + + fillcolor="#ffaaaa"; + } + + src_0x55ef7a2e6110_src_0x55ef7a2e80d0 -> decode_0x55ef7a2f20c0_sink_0x55ef7a2fa050 [label="ANY"] +} diff --git a/pipeline/pipeline.pdf b/pipeline/pipeline.pdf new file mode 100644 index 0000000..b1bc132 Binary files /dev/null and b/pipeline/pipeline.pdf differ