KamaeliaNuts & Bolts | Components | Tools | Cookbook | Systems
wiki:( guest720926, Dev Console, Index, Recent, Edit )

from Kamaelia.Chassis.Pipeline import Pipeline
from Kamaelia.Internet.Multicast_transceiver import Multicast_transceiver
from Kamaelia.Protocol.SimpleReliableMulticast import Annotator
from Kamaelia.Protocol.SimpleReliableMulticast import _Framer
from Kamaelia.Protocol.SimpleReliableMulticast import _DataChunker
from Kamaelia.Protocol.Packetise import MaxSizePacketiser
from Kamaelia.File.Reading import RateControlledFileReader
Pipeline( RateControlledFileReader("myaudio.mp3",readmode="bytes",rate=128000/8),
Annotator(),
_Framer(),
_DataChunker(),
MaxSizePacketiser(),
Multicast_transceiver("0.0.0.0", 0, "224.168.2.9", 1600),
).run()
You can find this code in Kamaelia/Examples/Multicast/SimpleReliableMulticast
So what did Pipeline actually do?


Pipeline( RateControlledFileReader("myaudio.mp3",readmode="bytes",rate=128000/8),
Pipeline( Annotator(),
_Framer(),
_DataChunker(),
),
MaxSizePacketiser(),
Multicast_transceiver("0.0.0.0", 0, "224.168.2.9", 1600),
).run()
We don't have to call the run() or activate() method of the inner pipeline since, just like the other components, they'll all be activated by the main pipeline when it starts.def SRM_Sender():
return Pipeline( Annotator(),
_Framer(),
_DataChunker(),
)
Now we can call that function to put the sub pipeline into the chain:
Pipeline( RateControlledFileReader("myaudio.mp3",readmode="bytes",rate=128000/8),
SRM_Sender(),
MaxSizePacketiser(),
Multicast_transceiver("0.0.0.0", 0, "224.168.2.9", 1600),
).run()We can now, for the most part, use SRM_Sender just like any other component.from Kamaelia.Protocol.SimpleReliableMulticast import SRM_Sender
Pipeline( RateControlledFileReader("myaudio.mp3",readmode="bytes",rate=128000/8),
SRM_Sender(),
MaxSizePacketiser(),
Multicast_transceiver("0.0.0.0", 0, "224.168.2.9", 1600),
).run()
Versions: current , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8
(C) 2005 Kamaelia Contributors, including the British Broadcasting Corporation, All Rights Reserved,
This is an ongoing community based development site. As a result the
contents of this page is the opinions of the contributors of the pages
involved not the organisations involved. Specificially, this page
may contain personal views which are not the views of the BBC.