`Page 1/4
`Saved: 11/9/01, 5:22:53 PM
`Printed for: Implicit
`
`<!DOCTYPE RULES PUBLIC '-//BECOMM//DTD Rules V0.9//EN' '' [¬
`1
` <!ENTITY LOCALIP "10.1.1.103">¬
`2
` <!ENTITY REMOTEIP "10.1.1.25">¬
`3
`]>¬
`4
`¬5
`¬6
`<RULES>¬
`7
` <DESCRIPTION xml:lang="en">audioplayerapp.rule</DESCRIPTION>¬
`8
`¬9
` <RULE>¬
`10
`<DESCRIPTION xml:lang="en">¬
`11
`StringsAudioPlayer: MP3 to PCM¬
`12
`</DESCRIPTION>¬
`13
`<PREDICATE value="query:¬
`14
`Content-Type=='audio/mp3' AND¬
`15
`Application-Id=='StringsAudioPlayer'"/>¬
`16
`<ROUTE>¬
`17
`<STEP>¬
`18
`<BEAD name="mp3decoder"/>¬
`19
`<EDGE name="decode"/>¬
`20
`<SEED value="namespace:Content-Type='audio/pcm'"/>¬
`21
`</STEP>¬
`22
`</ROUTE>¬
`23
` </RULE>¬
`24
`¬25
`¬26
` <RULE>¬
`27
`<DESCRIPTION xml:lang="en">¬
`28
`StringsAudioPlayer: Fan-out PCM (sync)¬
`29
`</DESCRIPTION>¬
`30
`<PREDICATE value="query:¬
`31
`Content-Type=='audio/pcm' AND¬
`32
`Application-Id=='StringsAudioPlayer' AND¬
`33
`Fanout"/>¬
`34
`35
`36
`37
`38
`39
` </STEP>¬
`40
`</ROUTE>¬
`41
` </RULE>¬
`42
`¬43
`¬44
`¬45
`
`<ROUTE>¬
`<STEP>¬
`<BEAD name="fanout"/>¬
`<EDGE name="decode"/>¬
`<SEED value="namespace:MasterClock=sampleclock:"/>¬
`
`Page 1 of 4
`
`Implicit Exhibit 2028
`Sonos v. Implicit, IPR2018-0766, -0767
`
`
`
`/Users/implicit/Desktop/Source Code/200…/…/…/rules/audioplayerapp.rule
`Page 2/4
`Saved: 11/9/01, 5:22:53 PM
`Printed for: Implicit
`
`¬46
`¬47
` <!-- ***********************************************************¬
`48
` This rule configures the 0th branch of Fanout to be the¬
`49
` master.¬
`50
` ************************************************************ -->¬
`51
` <RULE>¬
`52
` <DESCRIPTION xml:lang="en">¬
`53
` StringsAudioPlayer: Master Fanout Branch (sync)¬
`54
` </DESCRIPTION>¬
`55
` <PREDICATE value="query:¬
`56
` Content-Type=='audio/pcm' AND¬
`57
` Application-Id=='StringsAudioPlayer' AND¬
`58
` Fanout AND¬
`59
` MasterClock AND¬
`60
` Fanout/Index==0"/>¬
`61
` <ROUTE>¬
`62
` <STEP>¬
`63
` <BEAD name="clocksync"/>¬
`64
` <EDGE name="master"/>¬
`65
` </STEP>¬
`66
` </ROUTE>¬
`67
` </RULE>¬
`68
`¬69
`¬70
` <!-- ***********************************************************¬
`71
` This rule configures the non-0th branches of Fanout to be a¬
`72
` slave.¬
`73
` ************************************************************ -->¬
`74
` <RULE>¬
`75
` <DESCRIPTION xml:lang="en">¬
`76
` StringsAudioPlayer: Slave Fanout Branch (sync)¬
`77
` </DESCRIPTION>¬
`78
` <PREDICATE value="query:¬
`79
` Content-Type=='audio/pcm' AND¬
`80
` Application-Id=='StringsAudioPlayer' AND¬
`81
` Fanout AND¬
`82
` MasterClock AND¬
`83
` Fanout/Index!=0"/>¬
`84
` <ROUTE>¬
`85
` <STEP>¬
`86
` <BEAD name="noop"/>¬
`87
` <EDGE name="noop"/>¬
`88
` <SEED value="namespace:RenderClock=sampleclock:"/>¬
`89
` </STEP>¬
`90
`
`Page 2 of 4
`
`Implicit Exhibit 2028
`Sonos v. Implicit, IPR2018-0766, -0767
`
`
`
`/Users/implicit/Desktop/Source Code/200…/…/…/rules/audioplayerapp.rule
`Page 3/4
`Saved: 11/9/01, 5:22:53 PM
`Printed for: Implicit
`
` </ROUTE>¬
`91
` </RULE>¬
`92
`¬93
`¬94
`¬95
`¬96
`¬97
`¬98
` <!-- ***********************************************************¬
`99
` This rule configures the PCM playout to the local host.¬
`100
` ************************************************************ -->¬
`101
` <RULE>¬
`102
` <DESCRIPTION xml:lang="en">¬
`103
` StringsAudioPlayer: Fan-out branch to local speaker (sync)¬
`104
` </DESCRIPTION>¬
`105
` <PREDICATE value="query:¬
`106
` Content-Type=='audio/pcm' AND¬
`107
` Application-Id=='StringsAudioPlayer' AND¬
`108
` Fanout AND¬
`109
` Target-Device AND¬
`110
` MasterClock AND¬
`111
` RenderClock AND¬
`112
` Target-Device=='&LOCALIP;:8080://Speaker'"/>¬
`113
` <ROUTE>¬
`114
` <STEP>¬
`115
` <BEAD name="audiosync"/>¬
`116
` <EDGE name="decode"/>¬
`117
` </STEP>¬
`118
` <STEP>¬
`119
` <BEAD name="speaker"/>¬
`120
` <EDGE name="encode"/>¬
`121
` </STEP>¬
`122
` </ROUTE>¬
`123
` </RULE>¬
`124
`¬
`125
`¬
`126
` <!-- ***********************************************************¬
`127
` This rule configures the PCM playout to the remote host.¬
`128
` ************************************************************ -->¬
`129
` <RULE>¬
`130
` <DESCRIPTION xml:lang="en">¬
`131
` StringsAudioPlayer: Fan-out branch to remote speaker (sync)¬
`132
` </DESCRIPTION>¬
`133
` <PREDICATE value="query:¬
`134
` Content-Type=='audio/pcm' AND¬
`135
`
`Page 3 of 4
`
`Implicit Exhibit 2028
`Sonos v. Implicit, IPR2018-0766, -0767
`
`
`
`/Users/implicit/Desktop/Source Code/200…/…/…/rules/audioplayerapp.rule
`Page 4/4
`Saved: 11/9/01, 5:22:53 PM
`Printed for: Implicit
`
` Application-Id=='StringsAudioPlayer' AND¬
` Fanout AND¬
` Target-Device AND¬
` MasterClock AND¬
` RenderClock AND¬
` Target-Device=='&REMOTEIP;:8080://Speaker'"/>¬
` <ROUTE>¬
` <STEP>¬
` <BEAD name="clocksync"/>¬
` <EDGE name="masterencode"/>¬
` </STEP>¬
` <STEP>¬
` <BEAD name="framer"/>¬
` <EDGE name="encode"/>¬
` </STEP>¬
` <STEP>¬
` <BEAD name="TCP"/>¬
` <EDGE name="Encode"/>¬
` <SEED value="namespace:¬
` Network-Port-Remote=9002,¬
` Network-Address-Remote=ipv4:&REMOTEIP;,¬
` Network-Port-Local=0,¬
` Network-Address-Local=0"/>¬
` </STEP>¬
` <STEP>¬
` <BEAD name="IP"/>¬
` <EDGE name="Encode"/>¬
` </STEP>¬
` </ROUTE>¬
` </RULE>¬
`¬
`</RULES>¬
`
`136
`137
`138
`139
`140
`141
`142
`143
`144
`145
`146
`147
`148
`149
`150
`151
`152
`153
`154
`155
`156
`157
`158
`159
`160
`161
`162
`163
`164
`165
`166
`167
`168
`
`Page 4 of 4
`
`Implicit Exhibit 2028
`Sonos v. Implicit, IPR2018-0766, -0767
`
`