JFIF$        dd7 

Viewing File: /usr/share/pipewire/pipewire-aes67.conf

# AES67 config file for PipeWire version "1.0.1" #
#
# Copy and edit this file in /etc/pipewire for system-wide changes
# or in ~/.config/pipewire for local changes.
#
# It is also possible to place a file with an updated section in
# /etc/pipewire/pipewire-aes67.conf.d/ for system-wide changes or in
# ~/.config/pipewire/pipewire-aes67.conf.d/ for local changes.
#

context.properties = {
    ## Configure properties in the system.
    #mem.warn-mlock  = false
    #mem.allow-mlock = true
    #mem.mlock-all   = false
    #log.level       = 2

    #default.clock.quantum-limit = 8192
}

context.spa-libs = {
    support.*       = support/libspa-support
}

context.objects = [
    # An example clock reading from /dev/ptp0. You can also specify the network interface name,
    # pipewire will query the interface for the current active PHC index. Another option is to
    # sync the ptp clock to CLOCK_TAI and then set clock.id = tai, keep in mind that tai may
    # also be synced by a NTP client.
    # The precedence is: device, interface, id
    { factory = spa-node-factory
        args = {
            factory.name    = support.node.driver
            node.name       = PTP0-Driver
            node.group      = pipewire.ptp0
            # This driver should only be used for network nodes marked with group
            priority.driver = 100000
            clock.name      = "clock.system.ptp0"
            #clock.id        = tai
            clock.device    = "/dev/ptp0"
            #clock.interface = "eth0"
            object.export   = true
        }
    }
]

context.modules = [
    { name = libpipewire-module-rt
        args = {
            nice.level   = -11
            #rt.prio      = 88
            #rt.time.soft = -1
            #rt.time.hard = -1
        }
        flags = [ ifexists nofail ]
    }
    { name = libpipewire-module-protocol-native }
    { name = libpipewire-module-client-node }
    { name = libpipewire-module-spa-node-factory }
    { name = libpipewire-module-adapter }
    { name = libpipewire-module-rtp-sap
        args = {
            local.ifname = eth0
            sap.ip = 239.255.255.255
            sap.port = 9875
            net.ttl = 32
            net.loop = true

            stream.rules = [
                {
                    matches = [
                        {
                            rtp.session = "~.*"
                        }
                    ]
                    actions = {
                        create-stream = {
                            node.virtual = false
                            media.class = "Audio/Source"
                            device.api = aes67
                            sess.latency.msec = 10
                            node.group = pipewire.ptp0
                        }
                    }
                },
                {
                    matches = [
                        {
                            sess.sap.announce = true
                        }
                    ]
                    actions = {
                        announce-stream = {}
                    }
               }
            ]
        }
    },
    { name = libpipewire-module-rtp-sink
        args = {
            local.ifname = eth0
            destination.ip = 239.69.150.243
            destination.port = 5004
            net.mtu = 1280
            net.ttl = 32
            net.loop = true
            sess.min-ptime = 1
            sess.max-ptime = 1
            sess.name = "PipeWire RTP stream"
            sess.media = "audio"
            sess.ts-refclk = "ptp=traceable"
            sess.ts-offset = 0
            sess.ptime = 1
            sess.latency.msec = 1
            sess.announce = true
            audio.format = "S24BE"
            audio.rate = 48000
            audio.channels = 2
            audio.position = [ FL FR ]

            stream.props = {
                node.name = "rtp-sink"
                media.class = "Audio/Sink"
                node.virtual = false
                device.api = aes67
                sess.sap.announce = true
                node.always-process = true
                node.group = pipewire.ptp0
            }
        }
    },
]
Back to Directory  nL+D550H?Mx ,D"v]qv;6*Zqn)ZP0!1 A "#a$2Qr D8 a Ri[f\mIykIw0cuFcRı?lO7к_f˓[C$殷WF<_W ԣsKcëIzyQy/_LKℂ;C",pFA:/]=H  ~,ls/9ć:[=/#f;)x{ٛEQ )~ =𘙲r*2~ a _V=' kumFD}KYYC)({ *g&f`툪ry`=^cJ.I](*`wq1dđ#̩͑0;H]u搂@:~וKL Nsh}OIR*8:2 !lDJVo(3=M(zȰ+i*NAr6KnSl)!JJӁ* %݉?|D}d5:eP0R;{$X'xF@.ÊB {,WJuQɲRI;9QE琯62fT.DUJ;*cP A\ILNj!J۱+O\͔]ޒS߼Jȧc%ANolՎprULZԛerE2=XDXgVQeӓk yP7U*omQIs,K`)6\G3t?pgjrmۛجwluGtfh9uyP0D;Uڽ"OXlif$)&|ML0Zrm1[HXPlPR0'G=i2N+0e2]]9VTPO׮7h(F*癈'=QVZDF,d߬~TX G[`le69CR(!S2!P <0x<!1AQ "Raq02Br#SCTb ?Ζ"]mH5WR7k.ۛ!}Q~+yԏz|@T20S~Kek *zFf^2X*(@8r?CIuI|֓>^ExLgNUY+{.RѪ τV׸YTD I62'8Y27'\TP.6d&˦@Vqi|8-OΕ]ʔ U=TL8=;6c| !qfF3aů&~$l}'NWUs$Uk^SV:U# 6w++s&r+nڐ{@29 gL u"TÙM=6(^"7r}=6YݾlCuhquympǦ GjhsǜNlɻ}o7#S6aw4!OSrD57%|?x>L |/nD6?/8w#[)L7+6〼T ATg!%5MmZ/c-{1_Je"|^$'O&ޱմTrb$w)R$& N1EtdU3Uȉ1pM"N*(DNyd96.(jQ)X 5cQɎMyW?Q*!R>6=7)Xj5`J]e8%t!+'!1Q5 !1 AQaqё#2"0BRb?Gt^## .llQT $v,,m㵜5ubV =sY+@d{N! dnO<.-B;_wJt6;QJd.Qc%p{ 1,sNDdFHI0ГoXшe黅XۢF:)[FGXƹ/w_cMeD,ʡcc.WDtA$j@:) -# u c1<@ۗ9F)KJ-hpP]_x[qBlbpʖw q"LFGdƶ*s+ډ_Zc"?%t[IP 6J]#=ɺVvvCGsGh1 >)6|ey?Lӣm,4GWUi`]uJVoVDG< SB6ϏQ@ TiUlyOU0kfV~~}SZ@*WUUi##; s/[=!7}"WN]'(L! ~y5g9T̅JkbM' +s:S +B)v@Mj e Cf jE 0Y\QnzG1д~Wo{T9?`Rmyhsy3!HAD]mc1~2LSu7xT;j$`}4->L#vzŏILS ֭T{rjGKC;bpU=-`BsK.SFw4Mq]ZdHS0)tLg