{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.USn7QIEI/b1/pipewire_1.0.7-1_amd64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.USn7QIEI/b2/pipewire_1.0.7-1_amd64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -20,15 +20,15 @@\n 95d310feff034549fb9edd2e5603f3b5 591940 libs optional libspa-0.2-modules_1.0.7-1_amd64.deb\n 1b1476225362378560c881d9e84306ea 148772 debug optional pipewire-alsa-dbgsym_1.0.7-1_amd64.deb\n 2004eb305a9cc8672a4321b4367be5b3 58976 sound optional pipewire-alsa_1.0.7-1_amd64.deb\n 3949dda0f2174f31241b39a942f886da 18372 oldlibs optional pipewire-audio-client-libraries_1.0.7-1_all.deb\n c32a2533adeb6b73dc0ac380d74075d2 18564 sound optional pipewire-audio_1.0.7-1_all.deb\n b005765500acc8178d8a960b6c888631 989180 debug optional pipewire-bin-dbgsym_1.0.7-1_amd64.deb\n 1d78d1c437142352a8c8a27140a3a84e 364400 video optional pipewire-bin_1.0.7-1_amd64.deb\n- c8f9b82f3b6467a87c15b8dbba2ae621 1604676 doc optional pipewire-doc_1.0.7-1_all.deb\n+ 4edde88c94c4a0a27c61de003894dcc1 1605100 doc optional pipewire-doc_1.0.7-1_all.deb\n 6ac03373bf6be10da2369b3eea506c11 484244 debug optional pipewire-jack-dbgsym_1.0.7-1_amd64.deb\n fff2954f6130b511e510d8ab43d59f61 126984 sound optional pipewire-jack_1.0.7-1_amd64.deb\n 13c0a0ae52bf791038e3cd483fcd8376 18336 oldlibs optional pipewire-libcamera_1.0.7-1_all.deb\n 6b3937d487575f54dff27a166d61a75c 22756 sound optional pipewire-pulse_1.0.7-1_amd64.deb\n 8ac7119d0b1bc5fd2a38a4351d5a012f 2124392 debug optional pipewire-tests-dbgsym_1.0.7-1_amd64.deb\n 957e90be600b5fcf885399239193a55e 339144 misc optional pipewire-tests_1.0.7-1_amd64.deb\n e887595c52cc9c0c9380823967c68749 115224 debug optional pipewire-v4l2-dbgsym_1.0.7-1_amd64.deb\n"}, {"source1": "pipewire-doc_1.0.7-1_all.deb", "source2": "pipewire-doc_1.0.7-1_all.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2024-05-27 09:49:41.000000 debian-binary\n--rw-r--r-- 0 0 0 38044 2024-05-27 09:49:41.000000 control.tar.xz\n--rw-r--r-- 0 0 0 1566440 2024-05-27 09:49:41.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 38084 2024-05-27 09:49:41.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 1566824 2024-05-27 09:49:41.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./control", "source2": "./control", "unified_diff": "@@ -1,13 +1,13 @@\n Package: pipewire-doc\n Source: pipewire\n Version: 1.0.7-1\n Architecture: all\n Maintainer: Utopia Maintenance Team \n-Installed-Size: 27848\n+Installed-Size: 27868\n Breaks: libpipewire-0.2-doc (<< 0.3.1)\n Replaces: libpipewire-0.2-doc (<< 0.3.1)\n Section: doc\n Priority: optional\n Multi-Arch: foreign\n Homepage: https://pipewire.org/\n Description: libraries for the PipeWire multimedia server - documentation\n"}, {"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -34,17 +34,17 @@\n -rw-r--r-- 0 root (0) root (0) 43071 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/audio-src_8c-example.html\n -rw-r--r-- 0 root (0) root (0) 6555 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/audio_2dsp-utils_8h.html\n -rw-r--r-- 0 root (0) root (0) 22631 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/audio_2dsp-utils_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 9554 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/audio_2dsp_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 6559 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/audio_2format-utils_8h.html\n -rw-r--r-- 0 root (0) root (0) 62415 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/audio_2format-utils_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 10584 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/audio_2raw-types_8h.html\n--rw-r--r-- 0 root (0) root (0) 202512 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/audio_2raw-types_8h_source.html\n+-rw-r--r-- 0 root (0) root (0) 223615 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/audio_2raw-types_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 6555 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/audio_2raw-utils_8h.html\n--rw-r--r-- 0 root (0) root (0) 35734 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/audio_2raw-utils_8h_source.html\n+-rw-r--r-- 0 root (0) root (0) 36387 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/audio_2raw-utils_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 43025 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/audio_2raw_8h.html\n -rw-r--r-- 0 root (0) root (0) 177913 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/audio_2raw_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 9073 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/audio_8h.html\n -rw-r--r-- 0 root (0) root (0) 24986 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/audio_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 676 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/bc_s.png\n -rw-r--r-- 0 root (0) root (0) 635 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/bc_sd.png\n -rw-r--r-- 0 root (0) root (0) 61699 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/bluez-session_8c-example.html\n@@ -86,15 +86,15 @@\n -rw-r--r-- 0 root (0) root (0) 6298 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/debug_2buffer_8h.html\n -rw-r--r-- 0 root (0) root (0) 47445 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/debug_2buffer_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 6258 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/debug_2dict_8h.html\n -rw-r--r-- 0 root (0) root (0) 14738 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/debug_2dict_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 7672 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/debug_2format_8h.html\n -rw-r--r-- 0 root (0) root (0) 71867 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/debug_2format_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 7648 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/debug_2pod_8h.html\n--rw-r--r-- 0 root (0) root (0) 76813 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/debug_2pod_8h_source.html\n+-rw-r--r-- 0 root (0) root (0) 81302 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/debug_2pod_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 51744 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/defs_8h.html\n -rw-r--r-- 0 root (0) root (0) 75192 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/defs_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 9722 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/dir_0b24bd5b194325df529fe025fad65461.html\n -rw-r--r-- 0 root (0) root (0) 4751 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/dir_1fc7fb076ffdeded0fa710c385714030.html\n -rw-r--r-- 0 root (0) root (0) 6007 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/dir_36f15a76b34aab76fd15ad9ec0b06ea0.html\n -rw-r--r-- 0 root (0) root (0) 4417 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/dir_413b3620a8d75720f0a53b9a1885ab3e.html\n -rw-r--r-- 0 root (0) root (0) 9589 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/dir_41d24b6f9fffcd4c1a989ef96d4a1949.html\n@@ -535,17 +535,17 @@\n -rw-r--r-- 0 root (0) root (0) 171739 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/iter_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 176630 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/jquery.js\n -rw-r--r-- 0 root (0) root (0) 6604 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/json-pod_8h.html\n -rw-r--r-- 0 root (0) root (0) 58651 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/json-pod_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 23173 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/json_8h.html\n -rw-r--r-- 0 root (0) root (0) 114354 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/json_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 8830 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/latency-types_8h.html\n--rw-r--r-- 0 root (0) root (0) 28548 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/latency-types_8h_source.html\n+-rw-r--r-- 0 root (0) root (0) 26945 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/latency-types_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 10817 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/latency-utils_8h.html\n--rw-r--r-- 0 root (0) root (0) 63083 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/latency-utils_8h_source.html\n+-rw-r--r-- 0 root (0) root (0) 62523 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/latency-utils_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 10949 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/latency_8h.html\n -rw-r--r-- 0 root (0) root (0) 28123 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/latency_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 26080 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/layout_8h.html\n -rw-r--r-- 0 root (0) root (0) 45303 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/layout_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 18632 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/link_8h.html\n -rw-r--r-- 0 root (0) root (0) 37546 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/link_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 20029 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/list_8h.html\n@@ -758,15 +758,15 @@\n -rw-r--r-- 0 root (0) root (0) 26953 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/page_tutorial2.html\n -rw-r--r-- 0 root (0) root (0) 33492 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/page_tutorial3.html\n -rw-r--r-- 0 root (0) root (0) 53002 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/page_tutorial4.html\n -rw-r--r-- 0 root (0) root (0) 69912 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/page_tutorial5.html\n -rw-r--r-- 0 root (0) root (0) 34911 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/page_tutorial6.html\n -rw-r--r-- 0 root (0) root (0) 45427 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/pages.html\n -rw-r--r-- 0 root (0) root (0) 13162 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/param-types_8h.html\n--rw-r--r-- 0 root (0) root (0) 58068 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/param-types_8h_source.html\n+-rw-r--r-- 0 root (0) root (0) 54065 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/param-types_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 5631 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/param_2audio_2format_8h.html\n -rw-r--r-- 0 root (0) root (0) 26048 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/param_2audio_2format_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 7170 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/param_2audio_2type-info_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 7340 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/param_2bluetooth_2type-info_8h.html\n -rw-r--r-- 0 root (0) root (0) 31123 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/param_2bluetooth_2type-info_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 21764 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/param_2format_8h.html\n -rw-r--r-- 0 root (0) root (0) 82413 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/param_2format_8h_source.html\n@@ -789,31 +789,31 @@\n -rw-r--r-- 0 root (0) root (0) 696 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/plus.svg\n -rw-r--r-- 0 root (0) root (0) 696 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/plusd.svg\n -rw-r--r-- 0 root (0) root (0) 7751 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/pod_2command_8h.html\n -rw-r--r-- 0 root (0) root (0) 14054 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/pod_2command_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 7708 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/pod_2event_8h.html\n -rw-r--r-- 0 root (0) root (0) 13644 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/pod_2event_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 32934 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/pod_2pod_8h.html\n--rw-r--r-- 0 root (0) root (0) 79630 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/pod_2pod_8h_source.html\n+-rw-r--r-- 0 root (0) root (0) 80664 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/pod_2pod_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 8899 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/port-config-types_8h.html\n--rw-r--r-- 0 root (0) root (0) 26804 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/port-config-types_8h_source.html\n+-rw-r--r-- 0 root (0) root (0) 25401 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/port-config-types_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 7872 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/port-config_8h.html\n -rw-r--r-- 0 root (0) root (0) 17021 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/port-config_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 20891 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/port_8h.html\n -rw-r--r-- 0 root (0) root (0) 34175 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/port_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 7108 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/profile-types_8h.html\n--rw-r--r-- 0 root (0) root (0) 23610 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/profile-types_8h_source.html\n+-rw-r--r-- 0 root (0) root (0) 22407 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/profile-types_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 7193 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/profile_8h.html\n -rw-r--r-- 0 root (0) root (0) 15044 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/profile_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 7102 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/profiler-types_8h.html\n--rw-r--r-- 0 root (0) root (0) 17590 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/profiler-types_8h_source.html\n+-rw-r--r-- 0 root (0) root (0) 16687 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/profiler-types_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 30032 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/properties_8h.html\n -rw-r--r-- 0 root (0) root (0) 58928 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/properties_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 8945 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/props-types_8h.html\n--rw-r--r-- 0 root (0) root (0) 80747 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/props-types_8h_source.html\n+-rw-r--r-- 0 root (0) root (0) 75344 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/props-types_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 15276 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/props_8h.html\n -rw-r--r-- 0 root (0) root (0) 54951 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/props_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 14286 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/protocol-native_8h.html\n -rw-r--r-- 0 root (0) root (0) 30000 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/protocol-native_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 20820 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/protocol_8h.html\n -rw-r--r-- 0 root (0) root (0) 52519 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/protocol_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 20104 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/proxy_8h.html\n@@ -826,15 +826,15 @@\n -rw-r--r-- 0 root (0) root (0) 23450 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/resource_8h.html\n -rw-r--r-- 0 root (0) root (0) 39591 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/resource_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 10041 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/result_8h.html\n -rw-r--r-- 0 root (0) root (0) 11324 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/result_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 12732 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/ringbuffer_8h.html\n -rw-r--r-- 0 root (0) root (0) 28506 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/ringbuffer_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 7074 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/route-types_8h.html\n--rw-r--r-- 0 root (0) root (0) 29584 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/route-types_8h_source.html\n+-rw-r--r-- 0 root (0) root (0) 27981 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/route-types_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 7881 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/route_8h.html\n -rw-r--r-- 0 root (0) root (0) 19153 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/route_8h_source.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/search/\n -rw-r--r-- 0 root (0) root (0) 138 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/search/all_0.js\n -rw-r--r-- 0 root (0) root (0) 146 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/search/all_1.js\n -rw-r--r-- 0 root (0) root (0) 1112 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/search/all_10.js\n -rw-r--r-- 0 root (0) root (0) 652 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/search/all_11.js\n@@ -1630,17 +1630,17 @@\n -rw-r--r-- 0 root (0) root (0) 173 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/tab_bd.png\n -rw-r--r-- 0 root (0) root (0) 177 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/tab_h.png\n -rw-r--r-- 0 root (0) root (0) 180 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/tab_hd.png\n -rw-r--r-- 0 root (0) root (0) 184 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/tab_s.png\n -rw-r--r-- 0 root (0) root (0) 188 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/tab_sd.png\n -rw-r--r-- 0 root (0) root (0) 10560 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/tabs.css\n -rw-r--r-- 0 root (0) root (0) 7040 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/tag-types_8h.html\n--rw-r--r-- 0 root (0) root (0) 14904 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/tag-types_8h_source.html\n+-rw-r--r-- 0 root (0) root (0) 14301 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/tag-types_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 9525 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/tag-utils_8h.html\n--rw-r--r-- 0 root (0) root (0) 51998 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/tag-utils_8h_source.html\n+-rw-r--r-- 0 root (0) root (0) 51531 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/tag-utils_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 7675 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/tag_8h.html\n -rw-r--r-- 0 root (0) root (0) 13333 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/tag_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 18847 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/thread-loop_8h.html\n -rw-r--r-- 0 root (0) root (0) 28765 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/thread-loop_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 27075 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/topics.html\n -rw-r--r-- 0 root (0) root (0) 507 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/topics.js\n -rw-r--r-- 0 root (0) root (0) 6202 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/tutorial1_8c-example.html\n@@ -1668,17 +1668,17 @@\n -rw-r--r-- 0 root (0) root (0) 108706 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/video-src_8c-example.html\n -rw-r--r-- 0 root (0) root (0) 6555 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/video_2dsp-utils_8h.html\n -rw-r--r-- 0 root (0) root (0) 32145 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/video_2dsp-utils_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 6342 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/video_2dsp_8h.html\n -rw-r--r-- 0 root (0) root (0) 10854 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/video_2dsp_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 28628 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/video_2format-utils_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 10616 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/video_2raw-types_8h.html\n--rw-r--r-- 0 root (0) root (0) 109376 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/video_2raw-types_8h_source.html\n+-rw-r--r-- 0 root (0) root (0) 119779 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/video_2raw-types_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 6555 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/video_2raw-utils_8h.html\n--rw-r--r-- 0 root (0) root (0) 66757 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/video_2raw-utils_8h_source.html\n+-rw-r--r-- 0 root (0) root (0) 67131 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/video_2raw-utils_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 24426 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/video_2raw_8h.html\n -rw-r--r-- 0 root (0) root (0) 104369 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/video_2raw_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 6568 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/vorbis-utils_8h.html\n -rw-r--r-- 0 root (0) root (0) 26121 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/vorbis-utils_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 9865 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/vorbis_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 12187 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/wma-types_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 6520 2024-05-27 09:49:41.000000 ./usr/share/doc/pipewire/html/wma-utils_8h.html\n"}, {"source1": "./usr/share/doc/pipewire/html/audio_2raw-types_8h_source.html", "source2": "./usr/share/doc/pipewire/html/audio_2raw-types_8h_source.html", "unified_diff": "@@ -113,243 +113,243 @@\n
17#include <spa/utils/type.h>
\n
18#include <spa/param/audio/raw.h>
\n
19
\n
20#define SPA_TYPE_INFO_AudioFormat SPA_TYPE_INFO_ENUM_BASE "AudioFormat"
\n
21#define SPA_TYPE_INFO_AUDIO_FORMAT_BASE SPA_TYPE_INFO_AudioFormat ":"
\n
22
\n
23static const struct spa_type_info spa_type_audio_format[] = {
\n-
24 { SPA_AUDIO_FORMAT_UNKNOWN, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "UNKNOWN", NULL },
\n-
25 { SPA_AUDIO_FORMAT_ENCODED, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "ENCODED", NULL },
\n-
26 { SPA_AUDIO_FORMAT_S8, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S8", NULL },
\n-
27 { SPA_AUDIO_FORMAT_U8, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U8", NULL },
\n-
28 { SPA_AUDIO_FORMAT_S16_LE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S16LE", NULL },
\n-
29 { SPA_AUDIO_FORMAT_S16_BE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S16BE", NULL },
\n+
24 { SPA_AUDIO_FORMAT_UNKNOWN, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "UNKNOWN", NULL },
\n+
25 { SPA_AUDIO_FORMAT_ENCODED, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "ENCODED", NULL },
\n+
26 { SPA_AUDIO_FORMAT_S8, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S8", NULL },
\n+
27 { SPA_AUDIO_FORMAT_U8, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U8", NULL },
\n+
28 { SPA_AUDIO_FORMAT_S16_LE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S16LE", NULL },
\n+
29 { SPA_AUDIO_FORMAT_S16_BE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S16BE", NULL },
\n
\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n
56
\n-\n-\n+\n+\n
59
\n-\n-\n-\n-\n-\n-\n-\n-\n+\n+\n+\n+\n+\n+\n+\n+\n
68
\n
69#if __BYTE_ORDER == __BIG_ENDIAN
\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n
98#elif __BYTE_ORDER == __LITTLE_ENDIAN
\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n
127#endif
\n-
128 { 0, 0, NULL, NULL },
\n+
128 { 0, 0, NULL, NULL },
\n
129};
\n
130
\n
131#define SPA_TYPE_INFO_AudioFlags SPA_TYPE_INFO_FLAGS_BASE "AudioFlags"
\n
132#define SPA_TYPE_INFO_AUDIO_FLAGS_BASE SPA_TYPE_INFO_AudioFlags ":"
\n
133
\n
134static const struct spa_type_info spa_type_audio_flags[] = {
\n-\n-\n+\n+\n
\n-
137 { 0, 0, NULL, NULL },
\n+
137 { 0, 0, NULL, NULL },
\n
138};
\n
139
\n
140#define SPA_TYPE_INFO_AudioChannel SPA_TYPE_INFO_ENUM_BASE "AudioChannel"
\n
141#define SPA_TYPE_INFO_AUDIO_CHANNEL_BASE SPA_TYPE_INFO_AudioChannel ":"
\n
142
\n
\n
143static const struct spa_type_info spa_type_audio_channel[] = {
\n-\n-\n-\n-\n+\n+\n+\n+\n
\n-
148 { SPA_AUDIO_CHANNEL_FR, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "FR", NULL },
\n-
149 { SPA_AUDIO_CHANNEL_FC, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "FC", NULL },
\n-
150 { SPA_AUDIO_CHANNEL_LFE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "LFE", NULL },
\n-
151 { SPA_AUDIO_CHANNEL_SL, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "SL", NULL },
\n-
152 { SPA_AUDIO_CHANNEL_SR, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "SR", NULL },
\n-
153 { SPA_AUDIO_CHANNEL_FLC, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "FLC", NULL },
\n+
148 { SPA_AUDIO_CHANNEL_FR, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "FR", NULL },
\n+
149 { SPA_AUDIO_CHANNEL_FC, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "FC", NULL },
\n+
150 { SPA_AUDIO_CHANNEL_LFE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "LFE", NULL },
\n+
151 { SPA_AUDIO_CHANNEL_SL, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "SL", NULL },
\n+
152 { SPA_AUDIO_CHANNEL_SR, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "SR", NULL },
\n+
153 { SPA_AUDIO_CHANNEL_FLC, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "FLC", NULL },
\n
\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n
182
\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-
247 { 0, 0, NULL, NULL },
\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+
247 { 0, 0, NULL, NULL },
\n
248};
\n
249
\n
254#ifdef __cplusplus
\n
255} /* extern "C" */
\n
256#endif
\n
257
\n
258#endif /* SPA_AUDIO_RAW_RAW_TYPES_H */
\n@@ -534,14 +534,15 @@\n
@ SPA_AUDIO_FORMAT_F64_OE
Definition raw.h:121
\n
@ SPA_AUDIO_FORMAT_S18_BE
Definition raw.h:60
\n
@ SPA_AUDIO_FORMAT_S24_OE
Definition raw.h:114
\n
@ SPA_AUDIO_FORMAT_U16
Definition raw.h:95
\n
@ SPA_TYPE_Int
Definition type.h:34
\n
spa/utils/type.h
\n
Definition type.h:143
\n+
uint32_t type
Definition type.h:144
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
101 SPA_TYPE_OBJECT_ParamLatency, id,
\n
102 SPA_PARAM_LATENCY_direction, SPA_POD_Id(info->direction),
\n
\n \n@@ -219,24 +219,24 @@\n
112spa_process_latency_parse(const struct spa_pod *latency, struct spa_process_latency_info *info)
\n
113{
\n
114 int res;
\n
\n
115 spa_zero(*info);
\n
116 if ((res = spa_pod_parse_object(latency,
\n
\n-\n+\n \n \n \n
121 return res;
\n
122 return 0;
\n
123}
\n
124
\n
125static inline struct spa_pod *
\n-\n+
126spa_process_latency_build(struct spa_pod_builder *builder, uint32_t id,
\n
127 const struct spa_process_latency_info *info)
\n
128{
\n
\n
129 return (struct spa_pod *)spa_pod_builder_add_object(builder,
\n
130 SPA_TYPE_OBJECT_ParamProcessLatency, id,
\n
\n \n@@ -307,15 +307,14 @@\n
enum spa_direction direction
Definition latency.h:38
\n
float max_quantum
Definition latency.h:40
\n
float min_quantum
Definition latency.h:39
\n
uint64_t min_ns
Definition latency.h:43
\n
uint64_t max_ns
Definition latency.h:44
\n
Definition builder.h:53
\n
Definition pod.h:43
\n-
uint32_t type
Definition pod.h:45
\n
Helper structure for managing process latency objects.
Definition latency.h:59
\n
float quantum
Definition latency.h:60
\n
uint32_t rate
Definition latency.h:61
\n
uint64_t ns
Definition latency.h:62
\n
\n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -96,15 +96,15 @@\n 91 _\bS_\bP_\bA_\b__\bP_\bA_\bR_\bA_\bM_\b__\bL_\bA_\bT_\bE_\bN_\bC_\bY_\b__\bm_\ba_\bx_\bN_\bs, _\bS_\bP_\bA_\b__\bP_\bO_\bD_\b__\bO_\bP_\bT_\b__\bL_\bo_\bn_\bg(&info->_\bm_\ba_\bx_\b__\bn_\bs))) < 0)\n 92 return res;\n 93 info->_\bd_\bi_\br_\be_\bc_\bt_\bi_\bo_\bn = (enum _\bs_\bp_\ba_\b__\bd_\bi_\br_\be_\bc_\bt_\bi_\bo_\bn)(info->_\bd_\bi_\br_\be_\bc_\bt_\bi_\bo_\bn & 1);\n 94 return 0;\n 95}\n 96\n 97static inline struct _\bs_\bp_\ba_\b__\bp_\bo_\bd *\n-98_\bs_\bp_\ba_\b__\bl_\ba_\bt_\be_\bn_\bc_\by_\b__\bb_\bu_\bi_\bl_\bd(struct _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bb_\bu_\bi_\bl_\bd_\be_\br *builder, _\bu_\bi_\bn_\bt_\b3_\b2_\b__\bt id, const struct\n+98_\bs_\bp_\ba_\b__\bl_\ba_\bt_\be_\bn_\bc_\by_\b__\bb_\bu_\bi_\bl_\bd(struct _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bb_\bu_\bi_\bl_\bd_\be_\br *builder, uint32_t id, const struct\n _\bs_\bp_\ba_\b__\bl_\ba_\bt_\be_\bn_\bc_\by_\b__\bi_\bn_\bf_\bo *info)\n 99{\n 100 return (struct _\bs_\bp_\ba_\b__\bp_\bo_\bd *)_\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bb_\bu_\bi_\bl_\bd_\be_\br_\b__\ba_\bd_\bd_\b__\bo_\bb_\bj_\be_\bc_\bt(builder,\n 101 _\bS_\bP_\bA_\b__\bT_\bY_\bP_\bE_\b__\bO_\bB_\bJ_\bE_\bC_\bT_\b__\bP_\ba_\br_\ba_\bm_\bL_\ba_\bt_\be_\bn_\bc_\by, id,\n 102 _\bS_\bP_\bA_\b__\bP_\bA_\bR_\bA_\bM_\b__\bL_\bA_\bT_\bE_\bN_\bC_\bY_\b__\bd_\bi_\br_\be_\bc_\bt_\bi_\bo_\bn, _\bS_\bP_\bA_\b__\bP_\bO_\bD_\b__\bI_\bd(info->_\bd_\bi_\br_\be_\bc_\bt_\bi_\bo_\bn),\n _\b1_\b0_\b3 _\bS_\bP_\bA_\b__\bP_\bA_\bR_\bA_\bM_\b__\bL_\bA_\bT_\bE_\bN_\bC_\bY_\b__\bm_\bi_\bn_\bQ_\bu_\ba_\bn_\bt_\bu_\bm, _\bS_\bP_\bA_\b__\bP_\bO_\bD_\b__\bF_\bl_\bo_\ba_\bt(info->_\bm_\bi_\bn_\b__\bq_\bu_\ba_\bn_\bt_\bu_\bm),\n 104 _\bS_\bP_\bA_\b__\bP_\bA_\bR_\bA_\bM_\b__\bL_\bA_\bT_\bE_\bN_\bC_\bY_\b__\bm_\ba_\bx_\bQ_\bu_\ba_\bn_\bt_\bu_\bm, _\bS_\bP_\bA_\b__\bP_\bO_\bD_\b__\bF_\bl_\bo_\ba_\bt(info->_\bm_\ba_\bx_\b__\bq_\bu_\ba_\bn_\bt_\bu_\bm),\n@@ -117,24 +117,24 @@\n 111static inline int\n 112_\bs_\bp_\ba_\b__\bp_\br_\bo_\bc_\be_\bs_\bs_\b__\bl_\ba_\bt_\be_\bn_\bc_\by_\b__\bp_\ba_\br_\bs_\be(const struct _\bs_\bp_\ba_\b__\bp_\bo_\bd *latency, struct\n _\bs_\bp_\ba_\b__\bp_\br_\bo_\bc_\be_\bs_\bs_\b__\bl_\ba_\bt_\be_\bn_\bc_\by_\b__\bi_\bn_\bf_\bo *info)\n 113{\n 114 int res;\n 115 _\bs_\bp_\ba_\b__\bz_\be_\br_\bo(*info);\n 116 if ((res = _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bp_\ba_\br_\bs_\be_\b__\bo_\bb_\bj_\be_\bc_\bt(latency,\n-_\b1_\b1_\b7 _\bS_\bP_\bA_\b__\bT_\bY_\bP_\bE_\b__\bO_\bB_\bJ_\bE_\bC_\bT_\b__\bP_\ba_\br_\ba_\bm_\bP_\br_\bo_\bc_\be_\bs_\bs_\bL_\ba_\bt_\be_\bn_\bc_\by, _\bN_\bU_\bL_\bL,\n+_\b1_\b1_\b7 _\bS_\bP_\bA_\b__\bT_\bY_\bP_\bE_\b__\bO_\bB_\bJ_\bE_\bC_\bT_\b__\bP_\ba_\br_\ba_\bm_\bP_\br_\bo_\bc_\be_\bs_\bs_\bL_\ba_\bt_\be_\bn_\bc_\by, NULL,\n 118 _\bS_\bP_\bA_\b__\bP_\bA_\bR_\bA_\bM_\b__\bP_\bR_\bO_\bC_\bE_\bS_\bS_\b__\bL_\bA_\bT_\bE_\bN_\bC_\bY_\b__\bq_\bu_\ba_\bn_\bt_\bu_\bm, _\bS_\bP_\bA_\b__\bP_\bO_\bD_\b__\bO_\bP_\bT_\b__\bF_\bl_\bo_\ba_\bt(&info->_\bq_\bu_\ba_\bn_\bt_\bu_\bm),\n 119 _\bS_\bP_\bA_\b__\bP_\bA_\bR_\bA_\bM_\b__\bP_\bR_\bO_\bC_\bE_\bS_\bS_\b__\bL_\bA_\bT_\bE_\bN_\bC_\bY_\b__\br_\ba_\bt_\be, _\bS_\bP_\bA_\b__\bP_\bO_\bD_\b__\bO_\bP_\bT_\b__\bI_\bn_\bt(&info->_\br_\ba_\bt_\be),\n 120 _\bS_\bP_\bA_\b__\bP_\bA_\bR_\bA_\bM_\b__\bP_\bR_\bO_\bC_\bE_\bS_\bS_\b__\bL_\bA_\bT_\bE_\bN_\bC_\bY_\b__\bn_\bs, _\bS_\bP_\bA_\b__\bP_\bO_\bD_\b__\bO_\bP_\bT_\b__\bL_\bo_\bn_\bg(&info->_\bn_\bs))) < 0)\n 121 return res;\n 122 return 0;\n 123}\n 124\n 125static inline struct _\bs_\bp_\ba_\b__\bp_\bo_\bd *\n-126_\bs_\bp_\ba_\b__\bp_\br_\bo_\bc_\be_\bs_\bs_\b__\bl_\ba_\bt_\be_\bn_\bc_\by_\b__\bb_\bu_\bi_\bl_\bd(struct _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bb_\bu_\bi_\bl_\bd_\be_\br *builder, _\bu_\bi_\bn_\bt_\b3_\b2_\b__\bt id,\n+126_\bs_\bp_\ba_\b__\bp_\br_\bo_\bc_\be_\bs_\bs_\b__\bl_\ba_\bt_\be_\bn_\bc_\by_\b__\bb_\bu_\bi_\bl_\bd(struct _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bb_\bu_\bi_\bl_\bd_\be_\br *builder, uint32_t id,\n 127 const struct _\bs_\bp_\ba_\b__\bp_\br_\bo_\bc_\be_\bs_\bs_\b__\bl_\ba_\bt_\be_\bn_\bc_\by_\b__\bi_\bn_\bf_\bo *info)\n 128{\n 129 return (struct _\bs_\bp_\ba_\b__\bp_\bo_\bd *)_\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bb_\bu_\bi_\bl_\bd_\be_\br_\b__\ba_\bd_\bd_\b__\bo_\bb_\bj_\be_\bc_\bt(builder,\n 130 _\bS_\bP_\bA_\b__\bT_\bY_\bP_\bE_\b__\bO_\bB_\bJ_\bE_\bC_\bT_\b__\bP_\ba_\br_\ba_\bm_\bP_\br_\bo_\bc_\be_\bs_\bs_\bL_\ba_\bt_\be_\bn_\bc_\by, id,\n _\b1_\b3_\b1 _\bS_\bP_\bA_\b__\bP_\bA_\bR_\bA_\bM_\b__\bP_\bR_\bO_\bC_\bE_\bS_\bS_\b__\bL_\bA_\bT_\bE_\bN_\bC_\bY_\b__\bq_\bu_\ba_\bn_\bt_\bu_\bm, _\bS_\bP_\bA_\b__\bP_\bO_\bD_\b__\bF_\bl_\bo_\ba_\bt(info->_\bq_\bu_\ba_\bn_\bt_\bu_\bm),\n 132 _\bS_\bP_\bA_\b__\bP_\bA_\bR_\bA_\bM_\b__\bP_\bR_\bO_\bC_\bE_\bS_\bS_\b__\bL_\bA_\bT_\bE_\bN_\bC_\bY_\b__\br_\ba_\bt_\be, _\bS_\bP_\bA_\b__\bP_\bO_\bD_\b__\bI_\bn_\bt(info->_\br_\ba_\bt_\be),\n 133 _\bS_\bP_\bA_\b__\bP_\bA_\bR_\bA_\bM_\b__\bP_\bR_\bO_\bC_\bE_\bS_\bS_\b__\bL_\bA_\bT_\bE_\bN_\bC_\bY_\b__\bn_\bs, _\bS_\bP_\bA_\b__\bP_\bO_\bD_\b__\bL_\bo_\bn_\bg(info->_\bn_\bs));\n@@ -305,17 +305,14 @@\n _\bs_\bp_\ba_\b__\bl_\ba_\bt_\be_\bn_\bc_\by_\b__\bi_\bn_\bf_\bo_\b:_\b:_\bm_\ba_\bx_\b__\bn_\bs\n uint64_t max_ns\n D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bn latency.h:44\n _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bb_\bu_\bi_\bl_\bd_\be_\br\n D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bn builder.h:53\n _\bs_\bp_\ba_\b__\bp_\bo_\bd\n D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bn pod.h:43\n-_\bs_\bp_\ba_\b__\bp_\bo_\bd_\b:_\b:_\bt_\by_\bp_\be\n-uint32_t type\n-D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bn pod.h:45\n _\bs_\bp_\ba_\b__\bp_\br_\bo_\bc_\be_\bs_\bs_\b__\bl_\ba_\bt_\be_\bn_\bc_\by_\b__\bi_\bn_\bf_\bo\n Helper structure for managing process latency objects.\n D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bn latency.h:59\n _\bs_\bp_\ba_\b__\bp_\br_\bo_\bc_\be_\bs_\bs_\b__\bl_\ba_\bt_\be_\bn_\bc_\by_\b__\bi_\bn_\bf_\bo_\b:_\b:_\bq_\bu_\ba_\bn_\bt_\bu_\bm\n float quantum\n D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bn latency.h:60\n _\bs_\bp_\ba_\b__\bp_\br_\bo_\bc_\be_\bs_\bs_\b__\bl_\ba_\bt_\be_\bn_\bc_\by_\b__\bi_\bn_\bf_\bo_\b:_\b:_\br_\ba_\bt_\be\n"}]}, {"source1": "./usr/share/doc/pipewire/html/param-types_8h_source.html", "source2": "./usr/share/doc/pipewire/html/param-types_8h_source.html", "unified_diff": "@@ -115,83 +115,83 @@\n
19#include <spa/buffer/type-info.h>
\n
20
\n
21/* base for parameter object enumerations */
\n
22#define SPA_TYPE_INFO_ParamId SPA_TYPE_INFO_ENUM_BASE "ParamId"
\n
23#define SPA_TYPE_INFO_PARAM_ID_BASE SPA_TYPE_INFO_ParamId ":"
\n
24
\n
25static const struct spa_type_info spa_type_param[] = {
\n-
26 { SPA_PARAM_Invalid, SPA_TYPE_None, SPA_TYPE_INFO_PARAM_ID_BASE "Invalid", NULL },
\n-
27 { SPA_PARAM_PropInfo, SPA_TYPE_OBJECT_PropInfo, SPA_TYPE_INFO_PARAM_ID_BASE "PropInfo", NULL },
\n-
28 { SPA_PARAM_Props, SPA_TYPE_OBJECT_Props, SPA_TYPE_INFO_PARAM_ID_BASE "Props", NULL },
\n-
29 { SPA_PARAM_EnumFormat, SPA_TYPE_OBJECT_Format, SPA_TYPE_INFO_PARAM_ID_BASE "EnumFormat", NULL },
\n-
30 { SPA_PARAM_Format, SPA_TYPE_OBJECT_Format, SPA_TYPE_INFO_PARAM_ID_BASE "Format", NULL },
\n-
31 { SPA_PARAM_Buffers, SPA_TYPE_OBJECT_ParamBuffers, SPA_TYPE_INFO_PARAM_ID_BASE "Buffers", NULL },
\n+
26 { SPA_PARAM_Invalid, SPA_TYPE_None, SPA_TYPE_INFO_PARAM_ID_BASE "Invalid", NULL },
\n+
27 { SPA_PARAM_PropInfo, SPA_TYPE_OBJECT_PropInfo, SPA_TYPE_INFO_PARAM_ID_BASE "PropInfo", NULL },
\n+
28 { SPA_PARAM_Props, SPA_TYPE_OBJECT_Props, SPA_TYPE_INFO_PARAM_ID_BASE "Props", NULL },
\n+
29 { SPA_PARAM_EnumFormat, SPA_TYPE_OBJECT_Format, SPA_TYPE_INFO_PARAM_ID_BASE "EnumFormat", NULL },
\n+
30 { SPA_PARAM_Format, SPA_TYPE_OBJECT_Format, SPA_TYPE_INFO_PARAM_ID_BASE "Format", NULL },
\n+
31 { SPA_PARAM_Buffers, SPA_TYPE_OBJECT_ParamBuffers, SPA_TYPE_INFO_PARAM_ID_BASE "Buffers", NULL },
\n
\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-
44 { 0, 0, NULL, NULL },
\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+
44 { 0, 0, NULL, NULL },
\n
45};
\n
46
\n
47/* base for parameter objects */
\n
48#define SPA_TYPE_INFO_Param SPA_TYPE_INFO_OBJECT_BASE "Param"
\n
49#define SPA_TYPE_INFO_PARAM_BASE SPA_TYPE_INFO_Param ":"
\n
50
\n
51#include <spa/param/audio/type-info.h>
\n
52
\n
\n
53static const struct spa_type_info spa_type_prop_float_array[] = {
\n-
54 { SPA_PROP_START, SPA_TYPE_Float, SPA_TYPE_INFO_BASE "floatArray", NULL, },
\n-
55 { 0, 0, NULL, NULL },
\n+
54 { SPA_PROP_START, SPA_TYPE_Float, SPA_TYPE_INFO_BASE "floatArray", NULL, },
\n+
55 { 0, 0, NULL, NULL },
\n
56};
\n
57
\n
58static const struct spa_type_info spa_type_prop_channel_map[] = {
\n
59 { SPA_PROP_START, SPA_TYPE_Id, SPA_TYPE_INFO_BASE "channelMap", spa_type_audio_channel, },
\n-
60 { 0, 0, NULL, NULL },
\n+
60 { 0, 0, NULL, NULL },
\n
61};
\n
\n \n
63static const struct spa_type_info spa_type_prop_iec958_codec[] = {
\n
64 { SPA_PROP_START, SPA_TYPE_Id, SPA_TYPE_INFO_BASE "iec958Codec", spa_type_audio_iec958_codec, },
\n-
65 { 0, 0, NULL, NULL },
\n+
65 { 0, 0, NULL, NULL },
\n
\n
66};
\n
\n \n
68#define SPA_TYPE_INFO_ParamBitorder SPA_TYPE_INFO_ENUM_BASE "ParamBitorder"
\n
69#define SPA_TYPE_INFO_PARAM_BITORDER_BASE SPA_TYPE_INFO_ParamBitorder ":"
\n
70
\n
\n
71static const struct spa_type_info spa_type_param_bitorder[] = {
\n
\n-\n-\n-\n-
75 { 0, 0, NULL, NULL },
\n+\n+\n+\n+
75 { 0, 0, NULL, NULL },
\n
\n
76};
\n
77
\n
78#define SPA_TYPE_INFO_ParamAvailability SPA_TYPE_INFO_ENUM_BASE "ParamAvailability"
\n
79#define SPA_TYPE_INFO_PARAM_AVAILABILITY_BASE SPA_TYPE_INFO_ParamAvailability ":"
\n
80
\n
81static const struct spa_type_info spa_type_param_availability[] = {
\n
\n-\n-\n-\n-
85 { 0, 0, NULL, NULL },
\n+\n+\n+\n+
85 { 0, 0, NULL, NULL },
\n
86};
\n
87
\n
\n
92#ifdef __cplusplus
\n
93} /* extern "C" */
\n
\n
94#endif
\n@@ -251,15 +251,14 @@\n
@ SPA_TYPE_OBJECT_ParamMeta
Definition type.h:78
\n
@ SPA_TYPE_OBJECT_ParamTag
Definition type.h:86
\n
@ SPA_TYPE_OBJECT_ParamRoute
Definition type.h:82
\n
@ SPA_TYPE_OBJECT_Format
Definition type.h:76
\n
spa/param/format.h
\n \n
Definition type.h:143
\n-
uint32_t type
Definition type.h:144
\n
\n \n \n
\n
\n
125 SPA_CHOICE_Flags,
\n
\n \n \n \n-
129 uint32_t type;
\n+
129 uint32_t type;
\n
\n-
130 uint32_t flags;
\n+
130 uint32_t flags;
\n
131 struct spa_pod child;
\n
132 /* array with elements of child.size follows. Note that there might be more
\n
133 * elements than required by \\a type, which should be ignored. */
\n
134};
\n
135
\n
136struct spa_pod_choice {
\n
137 struct spa_pod pod;
\n@@ -268,31 +268,31 @@\n
144};
\n
145
\n
\n
146#define SPA_POD_OBJECT_TYPE(obj) (((struct spa_pod_object*)(obj))->body.type)
\n
147#define SPA_POD_OBJECT_ID(obj) (((struct spa_pod_object*)(obj))->body.id)
\n \n \n-
150 uint32_t type;
\n-
151 uint32_t id;
\n+\n+\n
152 /* contents follow, series of spa_pod_prop */
\n
\n
153};
\n
\n \n \n
156 struct spa_pod pod;
\n \n
158};
\n
159
\n \n
\n-
161 uint32_t type;
\n+
161 uint32_t type;
\n
\n-
162 uint32_t _padding;
\n+\n
163 const void *value;
\n \n
165
\n
\n
166struct spa_pod_pointer {
\n
\n
167 struct spa_pod pod;
\n@@ -327,16 +327,16 @@\n \n
196#define SPA_POD_CONTROL_SIZE(ev) (sizeof(struct spa_pod_control) + (ev)->value.size)
\n
197
\n
\n
198/* controls can be inside a sequence and mark timed values */
\n
\n \n-
200 uint32_t offset;
\n-
201 uint32_t type;
\n+\n+\n
202 struct spa_pod value;
\n
\n
203 /* value contents follow */
\n
204};
\n
205
\n
206struct spa_pod_sequence_body {
\n
207 uint32_t unit;
\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -28,16 +28,16 @@\n _\b2_\b6#define SPA_POD_CONTENTS_CONST(type,pod) SPA_PTROFF((pod),sizeof(type),const\n void)\n 27#define SPA_POD_BODY(pod) SPA_PTROFF((pod),sizeof(struct spa_pod),void)\n _\b2_\b8#define SPA_POD_BODY_CONST(pod) SPA_PTROFF((pod),sizeof(struct spa_pod),const\n void)\n 29\n _\b3_\b0struct _\bs_\bp_\ba_\b__\bp_\bo_\bd {\n-31 uint32_t _\bs_\bi_\bz_\be; /* size of the body */\n-_\b3_\b2 uint32_t _\bt_\by_\bp_\be; /* a basic id of enum spa_type */\n+31 _\bu_\bi_\bn_\bt_\b3_\b2_\b__\bt _\bs_\bi_\bz_\be; /* size of the body */\n+_\b3_\b2 _\bu_\bi_\bn_\bt_\b3_\b2_\b__\bt _\bt_\by_\bp_\be; /* a basic id of enum spa_type */\n 33};\n 34\n _\b3_\b5#define SPA_POD_VALUE(type,pod) (((type*)(pod))->value)\n 36\n _\b3_\b7struct _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bb_\bo_\bo_\bl {\n 38 struct _\bs_\bp_\ba_\b__\bp_\bo_\bd _\bp_\bo_\bd;\n _\b3_\b9 int32_t _\bv_\ba_\bl_\bu_\be;\n@@ -140,16 +140,16 @@\n _\b1_\b2_\b2 _\bS_\bP_\bA_\b__\bC_\bH_\bO_\bI_\bC_\bE_\b__\bR_\ba_\bn_\bg_\be,\n 123 _\bS_\bP_\bA_\b__\bC_\bH_\bO_\bI_\bC_\bE_\b__\bS_\bt_\be_\bp,\n 124 _\bS_\bP_\bA_\b__\bC_\bH_\bO_\bI_\bC_\bE_\b__\bE_\bn_\bu_\bm,\n 125 _\bS_\bP_\bA_\b__\bC_\bH_\bO_\bI_\bC_\bE_\b__\bF_\bl_\ba_\bg_\bs,\n _\b1_\b2_\b6};\n _\b1_\b2_\b7\n _\b1_\b2_\b8struct _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bc_\bh_\bo_\bi_\bc_\be_\b__\bb_\bo_\bd_\by {\n-129 uint32_t _\bt_\by_\bp_\be;\n-130 uint32_t _\bf_\bl_\ba_\bg_\bs;\n+129 _\bu_\bi_\bn_\bt_\b3_\b2_\b__\bt _\bt_\by_\bp_\be;\n+130 _\bu_\bi_\bn_\bt_\b3_\b2_\b__\bt _\bf_\bl_\ba_\bg_\bs;\n 131 struct _\bs_\bp_\ba_\b__\bp_\bo_\bd _\bc_\bh_\bi_\bl_\bd;\n _\b1_\b3_\b2 /* array with elements of child.size follows. Note that there might be more\n 133 * elements than required by \\a type, which should be ignored. */\n _\b1_\b3_\b4};\n 135\n _\b1_\b3_\b6struct _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bc_\bh_\bo_\bi_\bc_\be {\n 137 struct _\bs_\bp_\ba_\b__\bp_\bo_\bd _\bp_\bo_\bd;\n@@ -162,27 +162,27 @@\n _\b1_\b4_\b4};\n 145\n _\b1_\b4_\b6#define SPA_POD_OBJECT_TYPE(obj) (((struct spa_pod_object*)(obj))-\n >body.type)\n _\b1_\b4_\b7#define SPA_POD_OBJECT_ID(obj) (((struct spa_pod_object*)(obj))->body.id)\n _\b1_\b4_\b8\n _\b1_\b4_\b9struct _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bo_\bb_\bj_\be_\bc_\bt_\b__\bb_\bo_\bd_\by {\n-_\b1_\b5_\b0 uint32_t _\bt_\by_\bp_\be;\n-_\b1_\b5_\b1 uint32_t _\bi_\bd;\n+_\b1_\b5_\b0 _\bu_\bi_\bn_\bt_\b3_\b2_\b__\bt _\bt_\by_\bp_\be;\n+_\b1_\b5_\b1 _\bu_\bi_\bn_\bt_\b3_\b2_\b__\bt _\bi_\bd;\n 152 /* contents follow, series of spa_pod_prop */\n 153};\n _\b1_\b5_\b4\n _\b1_\b5_\b5struct _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bo_\bb_\bj_\be_\bc_\bt {\n _\b1_\b5_\b6 struct _\bs_\bp_\ba_\b__\bp_\bo_\bd _\bp_\bo_\bd;\n _\b1_\b5_\b7 struct _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bo_\bb_\bj_\be_\bc_\bt_\b__\bb_\bo_\bd_\by _\bb_\bo_\bd_\by;\n 158};\n 159\n 160struct _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bp_\bo_\bi_\bn_\bt_\be_\br_\b__\bb_\bo_\bd_\by {\n-161 uint32_t _\bt_\by_\bp_\be;\n-_\b1_\b6_\b2 uint32_t _\b__\bp_\ba_\bd_\bd_\bi_\bn_\bg;\n+161 _\bu_\bi_\bn_\bt_\b3_\b2_\b__\bt _\bt_\by_\bp_\be;\n+_\b1_\b6_\b2 _\bu_\bi_\bn_\bt_\b3_\b2_\b__\bt _\b__\bp_\ba_\bd_\bd_\bi_\bn_\bg;\n _\b1_\b6_\b3 const void *_\bv_\ba_\bl_\bu_\be;\n _\b1_\b6_\b4};\n 165\n 166struct _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bp_\bo_\bi_\bn_\bt_\be_\br {\n _\b1_\b6_\b7 struct _\bs_\bp_\ba_\b__\bp_\bo_\bd _\bp_\bo_\bd;\n _\b1_\b6_\b8 struct _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bp_\bo_\bi_\bn_\bt_\be_\br_\b__\bb_\bo_\bd_\by _\bb_\bo_\bd_\by;\n 169};\n@@ -209,16 +209,16 @@\n _\b1_\b9_\b4};\n _\b1_\b9_\b5\n _\b1_\b9_\b6#define SPA_POD_CONTROL_SIZE(ev) (sizeof(struct spa_pod_control) + (ev)-\n >value.size)\n 197\n 198/* controls can be inside a sequence and mark timed values */\n _\b1_\b9_\b9struct _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bc_\bo_\bn_\bt_\br_\bo_\bl {\n-_\b2_\b0_\b0 uint32_t _\bo_\bf_\bf_\bs_\be_\bt;\n-_\b2_\b0_\b1 uint32_t _\bt_\by_\bp_\be;\n+_\b2_\b0_\b0 _\bu_\bi_\bn_\bt_\b3_\b2_\b__\bt _\bo_\bf_\bf_\bs_\be_\bt;\n+_\b2_\b0_\b1 _\bu_\bi_\bn_\bt_\b3_\b2_\b__\bt _\bt_\by_\bp_\be;\n 202 struct _\bs_\bp_\ba_\b__\bp_\bo_\bd _\bv_\ba_\bl_\bu_\be;\n 203 /* value contents follow */\n 204};\n _\b2_\b0_\b5\n 206struct _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bs_\be_\bq_\bu_\be_\bn_\bc_\be_\b__\bb_\bo_\bd_\by {\n 207 uint32_t _\bu_\bn_\bi_\bt;\n _\b2_\b0_\b8 uint32_t _\bp_\ba_\bd;\n"}]}, {"source1": "./usr/share/doc/pipewire/html/port-config-types_8h_source.html", "source2": "./usr/share/doc/pipewire/html/port-config-types_8h_source.html", "unified_diff": "@@ -114,34 +114,34 @@\n
18#include <spa/param/param-types.h>
\n
19#include <spa/param/port-config.h>
\n
20
\n
21#define SPA_TYPE_INFO_ParamPortConfigMode SPA_TYPE_INFO_ENUM_BASE "ParamPortConfigMode"
\n
22#define SPA_TYPE_INFO_PARAM_PORT_CONFIG_MODE_BASE SPA_TYPE_INFO_ParamPortConfigMode ":"
\n
23
\n
24static const struct spa_type_info spa_type_param_port_config_mode[] = {
\n-
25 { SPA_PARAM_PORT_CONFIG_MODE_none, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_PORT_CONFIG_MODE_BASE "none", NULL },
\n-
26 { SPA_PARAM_PORT_CONFIG_MODE_passthrough, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_PORT_CONFIG_MODE_BASE "passthrough", NULL },
\n-
27 { SPA_PARAM_PORT_CONFIG_MODE_convert, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_PORT_CONFIG_MODE_BASE "convert", NULL },
\n-
28 { SPA_PARAM_PORT_CONFIG_MODE_dsp, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_PORT_CONFIG_MODE_BASE "dsp", NULL },
\n-
29 { 0, 0, NULL, NULL },
\n+
25 { SPA_PARAM_PORT_CONFIG_MODE_none, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_PORT_CONFIG_MODE_BASE "none", NULL },
\n+
26 { SPA_PARAM_PORT_CONFIG_MODE_passthrough, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_PORT_CONFIG_MODE_BASE "passthrough", NULL },
\n+
27 { SPA_PARAM_PORT_CONFIG_MODE_convert, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_PORT_CONFIG_MODE_BASE "convert", NULL },
\n+
28 { SPA_PARAM_PORT_CONFIG_MODE_dsp, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_PORT_CONFIG_MODE_BASE "dsp", NULL },
\n+
29 { 0, 0, NULL, NULL },
\n
30};
\n
\n \n
32#define SPA_TYPE_INFO_PARAM_PortConfig SPA_TYPE_INFO_PARAM_BASE "PortConfig"
\n
33#define SPA_TYPE_INFO_PARAM_PORT_CONFIG_BASE SPA_TYPE_INFO_PARAM_PortConfig ":"
\n
34
\n
35static const struct spa_type_info spa_type_param_port_config[] = {
\n \n \n
\n
38 { SPA_PARAM_PORT_CONFIG_mode, SPA_TYPE_Id, SPA_TYPE_INFO_PARAM_PORT_CONFIG_BASE "mode", spa_type_param_port_config_mode },
\n-
39 { SPA_PARAM_PORT_CONFIG_monitor, SPA_TYPE_Bool, SPA_TYPE_INFO_PARAM_PORT_CONFIG_BASE "monitor", NULL },
\n-
40 { SPA_PARAM_PORT_CONFIG_control, SPA_TYPE_Bool, SPA_TYPE_INFO_PARAM_PORT_CONFIG_BASE "control", NULL },
\n-
41 { SPA_PARAM_PORT_CONFIG_format, SPA_TYPE_OBJECT_Format, SPA_TYPE_INFO_PARAM_PORT_CONFIG_BASE "format", NULL },
\n-
42 { 0, 0, NULL, NULL },
\n+
39 { SPA_PARAM_PORT_CONFIG_monitor, SPA_TYPE_Bool, SPA_TYPE_INFO_PARAM_PORT_CONFIG_BASE "monitor", NULL },
\n+
40 { SPA_PARAM_PORT_CONFIG_control, SPA_TYPE_Bool, SPA_TYPE_INFO_PARAM_PORT_CONFIG_BASE "control", NULL },
\n+
41 { SPA_PARAM_PORT_CONFIG_format, SPA_TYPE_OBJECT_Format, SPA_TYPE_INFO_PARAM_PORT_CONFIG_BASE "format", NULL },
\n+
42 { 0, 0, NULL, NULL },
\n
43};
\n
\n \n
49#ifdef __cplusplus
\n
50} /* extern "C" */
\n
51#endif
\n
52
\n@@ -165,15 +165,14 @@\n
@ SPA_TYPE_Int
Definition type.h:34
\n
@ SPA_TYPE_Bool
Definition type.h:32
\n
@ SPA_TYPE_Id
Definition type.h:33
\n
@ SPA_TYPE_OBJECT_Format
Definition type.h:76
\n
spa/param/param-types.h
\n
spa/param/port-config.h
\n
Definition type.h:143
\n-
uint32_t type
Definition type.h:144
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
133}
\n
134
\n
139#ifdef __cplusplus
\n
140} /* extern "C" */
\n
141#endif
\n
142
\n@@ -293,15 +293,14 @@\n
struct spa_pod pod
Definition pod.h:184
\n
struct spa_pod_object_body body
Definition pod.h:185
\n
Definition parser.h:34
\n
Definition pod.h:208
\n
uint32_t key
key of property, list of valid keys depends on the object type
Definition pod.h:209
\n
struct spa_pod value
Definition pod.h:226
\n
Definition pod.h:43
\n-
uint32_t type
Definition pod.h:45
\n
uint32_t size
Definition pod.h:44
\n
helper structure for managing tag objects
Definition tag.h:36
\n
enum spa_direction direction
Definition tag.h:37
\n
const struct spa_pod * info
Definition tag.h:38
\n
spa/param/tag.h
\n
spa/utils/dict.h
\n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -129,17 +129,17 @@\n 123 _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bb_\bu_\bi_\bl_\bd_\be_\br_\b__\bs_\bt_\br_\bi_\bn_\bg(builder, dict->_\bi_\bt_\be_\bm_\bs[i]._\bk_\be_\by);\n 124 _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bb_\bu_\bi_\bl_\bd_\be_\br_\b__\bs_\bt_\br_\bi_\bn_\bg(builder, dict->_\bi_\bt_\be_\bm_\bs[i]._\bv_\ba_\bl_\bu_\be);\n 125 }\n 126 _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bb_\bu_\bi_\bl_\bd_\be_\br_\b__\bp_\bo_\bp(builder, &f);\n 127}\n 128\n 129static inline struct _\bs_\bp_\ba_\b__\bp_\bo_\bd *\n-130_\bs_\bp_\ba_\b__\bt_\ba_\bg_\b__\bb_\bu_\bi_\bl_\bd_\b__\be_\bn_\bd(struct _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bb_\bu_\bi_\bl_\bd_\be_\br *builder, struct _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bf_\br_\ba_\bm_\be *_\bf)\n+130_\bs_\bp_\ba_\b__\bt_\ba_\bg_\b__\bb_\bu_\bi_\bl_\bd_\b__\be_\bn_\bd(struct _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bb_\bu_\bi_\bl_\bd_\be_\br *builder, struct _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bf_\br_\ba_\bm_\be *f)\n 131{\n-132 return (struct _\bs_\bp_\ba_\b__\bp_\bo_\bd*)_\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bb_\bu_\bi_\bl_\bd_\be_\br_\b__\bp_\bo_\bp(builder, _\bf);\n+132 return (struct _\bs_\bp_\ba_\b__\bp_\bo_\bd*)_\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bb_\bu_\bi_\bl_\bd_\be_\br_\b__\bp_\bo_\bp(builder, f);\n 133}\n 134\n 139#ifdef __cplusplus\n 140} /* extern \"C\" */\n 141#endif\n 142\n 143#endif /* SPA_PARAM_TAG_UTILS_H */\n@@ -306,17 +306,14 @@\n key of property, list of valid keys depends on the object type\n D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bn pod.h:209\n _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bp_\br_\bo_\bp_\b:_\b:_\bv_\ba_\bl_\bu_\be\n struct spa_pod value\n D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bn pod.h:226\n _\bs_\bp_\ba_\b__\bp_\bo_\bd\n D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bn pod.h:43\n-_\bs_\bp_\ba_\b__\bp_\bo_\bd_\b:_\b:_\bt_\by_\bp_\be\n-uint32_t type\n-D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bn pod.h:45\n _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b:_\b:_\bs_\bi_\bz_\be\n uint32_t size\n D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bn pod.h:44\n _\bs_\bp_\ba_\b__\bt_\ba_\bg_\b__\bi_\bn_\bf_\bo\n helper structure for managing tag objects\n D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bn tag.h:36\n _\bs_\bp_\ba_\b__\bt_\ba_\bg_\b__\bi_\bn_\bf_\bo_\b:_\b:_\bd_\bi_\br_\be_\bc_\bt_\bi_\bo_\bn\n"}]}, {"source1": "./usr/share/doc/pipewire/html/video_2raw-types_8h_source.html", "source2": "./usr/share/doc/pipewire/html/video_2raw-types_8h_source.html", "unified_diff": "@@ -113,129 +113,129 @@\n
16#include <spa/utils/type.h>
\n
17#include <spa/param/video/raw.h>
\n
18
\n
19#define SPA_TYPE_INFO_VideoFormat SPA_TYPE_INFO_ENUM_BASE "VideoFormat"
\n
20#define SPA_TYPE_INFO_VIDEO_FORMAT_BASE SPA_TYPE_INFO_VideoFormat ":"
\n
21
\n
22static const struct spa_type_info spa_type_video_format[] = {
\n-
23 { SPA_VIDEO_FORMAT_ENCODED, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "encoded", NULL },
\n-
24 { SPA_VIDEO_FORMAT_I420, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "I420", NULL },
\n-
25 { SPA_VIDEO_FORMAT_YV12, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "YV12", NULL },
\n-
26 { SPA_VIDEO_FORMAT_YUY2, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "YUY2", NULL },
\n-
27 { SPA_VIDEO_FORMAT_UYVY, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "UYVY", NULL },
\n-
28 { SPA_VIDEO_FORMAT_AYUV, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "AYUV", NULL },
\n+
23 { SPA_VIDEO_FORMAT_ENCODED, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "encoded", NULL },
\n+
24 { SPA_VIDEO_FORMAT_I420, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "I420", NULL },
\n+
25 { SPA_VIDEO_FORMAT_YV12, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "YV12", NULL },
\n+
26 { SPA_VIDEO_FORMAT_YUY2, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "YUY2", NULL },
\n+
27 { SPA_VIDEO_FORMAT_UYVY, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "UYVY", NULL },
\n+
28 { SPA_VIDEO_FORMAT_AYUV, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "AYUV", NULL },
\n
\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-
110 { 0, 0, NULL, NULL },
\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+
110 { 0, 0, NULL, NULL },
\n
111};
\n
112
\n
113#define SPA_TYPE_INFO_VideoFlags SPA_TYPE_INFO_FLAGS_BASE "VideoFlags"
\n
114#define SPA_TYPE_INFO_VIDEO_FLAGS_BASE SPA_TYPE_INFO_VideoFlags ":"
\n
115
\n
116static const struct spa_type_info spa_type_video_flags[] = {
\n
117
\n-\n+\n
\n-
119 { SPA_VIDEO_FLAG_VARIABLE_FPS, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FLAGS_BASE "variable-fps", NULL },
\n-
120 { SPA_VIDEO_FLAG_PREMULTIPLIED_ALPHA, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FLAGS_BASE "premultiplied-alpha", NULL },
\n-
121 { SPA_VIDEO_FLAG_MODIFIER, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FLAGS_BASE "modifier", NULL },
\n-
122 { 0, 0, NULL, NULL },
\n+
119 { SPA_VIDEO_FLAG_VARIABLE_FPS, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FLAGS_BASE "variable-fps", NULL },
\n+
120 { SPA_VIDEO_FLAG_PREMULTIPLIED_ALPHA, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FLAGS_BASE "premultiplied-alpha", NULL },
\n+
121 { SPA_VIDEO_FLAG_MODIFIER, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FLAGS_BASE "modifier", NULL },
\n+
122 { 0, 0, NULL, NULL },
\n
123};
\n
124
\n
\n
125#define SPA_TYPE_INFO_VideoInterlaceMode SPA_TYPE_INFO_ENUM_BASE "VideoInterlaceMode"
\n
126#define SPA_TYPE_INFO_VIDEO_INTERLACE_MODE_BASE SPA_TYPE_INFO_VideoInterlaceMode ":"
\n
127
\n
128static const struct spa_type_info spa_type_video_interlace_mode[] = {
\n-\n-\n-\n-\n+\n+\n+\n+\n
\n-
133 { 0, 0, NULL, NULL },
\n+
133 { 0, 0, NULL, NULL },
\n
134};
\n
135
\n
140#ifdef __cplusplus
\n
141} /* extern "C" */
\n
142#endif
\n
143
\n
144#endif /* SPA_VIDEO_RAW_TYPES_H */
\n@@ -339,14 +339,15 @@\n
@ SPA_VIDEO_FORMAT_VYUY
Definition raw.h:109
\n
@ SPA_VIDEO_FORMAT_r210
Definition raw.h:86
\n
@ SPA_VIDEO_FORMAT_Y41B
Definition raw.h:62
\n
@ SPA_VIDEO_FORMAT_RGB
Definition raw.h:60
\n
@ SPA_TYPE_Int
Definition type.h:34
\n
spa/utils/type.h
\n
Definition type.h:143
\n+
uint32_t type
Definition type.h:144
\n
spa/param/video/raw.h
\n \n \n \n
\n
\n
56 struct spa_pod_frame f;
\n
57 spa_pod_builder_push_object(builder, &f, SPA_TYPE_OBJECT_Format, id);
\n
\n \n@@ -262,14 +262,15 @@\n
spa/pod/parser.h
\n
uint32_t denom
Definition defs.h:125
\n
Definition builder.h:53
\n
Definition iter.h:27
\n
Definition pod.h:208
\n
uint32_t flags
flags for property
Definition pod.h:225
\n
Definition pod.h:43
\n+
uint32_t type
Definition pod.h:45
\n
uint32_t width
Definition defs.h:103
\n
uint32_t height
Definition defs.h:104
\n
Definition raw.h:176
\n
enum spa_video_color_primaries color_primaries
color primaries.
Definition raw.h:196
\n
enum spa_video_transfer_function transfer_function
the transfer function.
Definition raw.h:195
\n
enum spa_video_interlace_mode interlace_mode
the interlace mode
Definition raw.h:186
\n
struct spa_rectangle size
the frame size of the video
Definition raw.h:181
\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -50,15 +50,15 @@\n 46 _\bS_\bP_\bA_\b__\bF_\bO_\bR_\bM_\bA_\bT_\b__\bV_\bI_\bD_\bE_\bO_\b__\bc_\bo_\bl_\bo_\br_\bR_\ba_\bn_\bg_\be, _\bS_\bP_\bA_\b__\bP_\bO_\bD_\b__\bO_\bP_\bT_\b__\bI_\bd(&info->_\bc_\bo_\bl_\bo_\br_\b__\br_\ba_\bn_\bg_\be),\n 47 _\bS_\bP_\bA_\b__\bF_\bO_\bR_\bM_\bA_\bT_\b__\bV_\bI_\bD_\bE_\bO_\b__\bc_\bo_\bl_\bo_\br_\bM_\ba_\bt_\br_\bi_\bx, _\bS_\bP_\bA_\b__\bP_\bO_\bD_\b__\bO_\bP_\bT_\b__\bI_\bd(&info->_\bc_\bo_\bl_\bo_\br_\b__\bm_\ba_\bt_\br_\bi_\bx),\n 48 _\bS_\bP_\bA_\b__\bF_\bO_\bR_\bM_\bA_\bT_\b__\bV_\bI_\bD_\bE_\bO_\b__\bt_\br_\ba_\bn_\bs_\bf_\be_\br_\bF_\bu_\bn_\bc_\bt_\bi_\bo_\bn, _\bS_\bP_\bA_\b__\bP_\bO_\bD_\b__\bO_\bP_\bT_\b__\bI_\bd(&info->_\bt_\br_\ba_\bn_\bs_\bf_\be_\br_\b__\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn),\n 49 _\bS_\bP_\bA_\b__\bF_\bO_\bR_\bM_\bA_\bT_\b__\bV_\bI_\bD_\bE_\bO_\b__\bc_\bo_\bl_\bo_\br_\bP_\br_\bi_\bm_\ba_\br_\bi_\be_\bs, _\bS_\bP_\bA_\b__\bP_\bO_\bD_\b__\bO_\bP_\bT_\b__\bI_\bd(&info->_\bc_\bo_\bl_\bo_\br_\b__\bp_\br_\bi_\bm_\ba_\br_\bi_\be_\bs));\n 50}\n 51\n 52static inline struct _\bs_\bp_\ba_\b__\bp_\bo_\bd *\n-53_\bs_\bp_\ba_\b__\bf_\bo_\br_\bm_\ba_\bt_\b__\bv_\bi_\bd_\be_\bo_\b__\br_\ba_\bw_\b__\bb_\bu_\bi_\bl_\bd(struct _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bb_\bu_\bi_\bl_\bd_\be_\br *builder, uint32_t id,\n+53_\bs_\bp_\ba_\b__\bf_\bo_\br_\bm_\ba_\bt_\b__\bv_\bi_\bd_\be_\bo_\b__\br_\ba_\bw_\b__\bb_\bu_\bi_\bl_\bd(struct _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bb_\bu_\bi_\bl_\bd_\be_\br *builder, _\bu_\bi_\bn_\bt_\b3_\b2_\b__\bt id,\n 54 struct _\bs_\bp_\ba_\b__\bv_\bi_\bd_\be_\bo_\b__\bi_\bn_\bf_\bo_\b__\br_\ba_\bw *info)\n 55{\n 56 struct _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bf_\br_\ba_\bm_\be f;\n 57 _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bb_\bu_\bi_\bl_\bd_\be_\br_\b__\bp_\bu_\bs_\bh_\b__\bo_\bb_\bj_\be_\bc_\bt(builder, &f, _\bS_\bP_\bA_\b__\bT_\bY_\bP_\bE_\b__\bO_\bB_\bJ_\bE_\bC_\bT_\b__\bF_\bo_\br_\bm_\ba_\bt, id);\n _\b5_\b8 _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bb_\bu_\bi_\bl_\bd_\be_\br_\b__\ba_\bd_\bd(builder,\n 59 _\bS_\bP_\bA_\b__\bF_\bO_\bR_\bM_\bA_\bT_\b__\bm_\be_\bd_\bi_\ba_\bT_\by_\bp_\be, _\bS_\bP_\bA_\b__\bP_\bO_\bD_\b__\bI_\bd(_\bS_\bP_\bA_\b__\bM_\bE_\bD_\bI_\bA_\b__\bT_\bY_\bP_\bE_\b__\bv_\bi_\bd_\be_\bo),\n 60 _\bS_\bP_\bA_\b__\bF_\bO_\bR_\bM_\bA_\bT_\b__\bm_\be_\bd_\bi_\ba_\bS_\bu_\bb_\bt_\by_\bp_\be, _\bS_\bP_\bA_\b__\bP_\bO_\bD_\b__\bI_\bd(_\bS_\bP_\bA_\b__\bM_\bE_\bD_\bI_\bA_\b__\bS_\bU_\bB_\bT_\bY_\bP_\bE_\b__\br_\ba_\bw),\n@@ -294,14 +294,17 @@\n D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bn pod.h:208\n _\bs_\bp_\ba_\b__\bp_\bo_\bd_\b__\bp_\br_\bo_\bp_\b:_\b:_\bf_\bl_\ba_\bg_\bs\n uint32_t flags\n flags for property\n D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bn pod.h:225\n _\bs_\bp_\ba_\b__\bp_\bo_\bd\n D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bn pod.h:43\n+_\bs_\bp_\ba_\b__\bp_\bo_\bd_\b:_\b:_\bt_\by_\bp_\be\n+uint32_t type\n+D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bn pod.h:45\n _\bs_\bp_\ba_\b__\br_\be_\bc_\bt_\ba_\bn_\bg_\bl_\be_\b:_\b:_\bw_\bi_\bd_\bt_\bh\n uint32_t width\n D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bn defs.h:103\n _\bs_\bp_\ba_\b__\br_\be_\bc_\bt_\ba_\bn_\bg_\bl_\be_\b:_\b:_\bh_\be_\bi_\bg_\bh_\bt\n uint32_t height\n D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bn defs.h:104\n _\bs_\bp_\ba_\b__\bv_\bi_\bd_\be_\bo_\b__\bi_\bn_\bf_\bo_\b__\br_\ba_\bw\n"}]}]}]}]}]}