@@ -11,6 +11,10 @@ var InternalOut = internalIO.Out;
1111var avstream = require ( '../avstreamLib/build/Release/avstream' ) ;
1212var AVStreamIn = avstream . AVStreamIn ;
1313var AVStreamOut = avstream . AVStreamOut ;
14+
15+ const MediaFrameMulticaster = require (
16+ '../mediaFrameMulticaster/build/Release/mediaFrameMulticaster' ) ;
17+
1418var logger = require ( '../logger' ) . logger ;
1519var path = require ( 'path' ) ;
1620var Connections = require ( './connections' ) ;
@@ -42,6 +46,19 @@ module.exports = function (rpcClient, selfRpcId, parentRpcId, clusterWorkerIP) {
4246 setTimeout ( function ( ) { connection . startPlay ( ) ; } , 6000 ) ;
4347 callback ( 'onStatus' , { type : 'ready' } ) ;
4448
49+ var dispatcher = new MediaFrameMulticaster ( ) ;
50+ connection . addDestination ( 'audio' , dispatcher ) ;
51+ connection . addDestination ( 'video' , dispatcher ) ;
52+ connection . selfClose = connection . close ;
53+ connection . close = function ( ) {
54+ connection . removeDestination ( 'audio' , dispatcher ) ;
55+ connection . removeDestination ( 'video' , dispatcher ) ;
56+ connection . selfClose ( ) ;
57+ } ;
58+ connection . source = function ( ) {
59+ return dispatcher . source ( ) ;
60+ } ;
61+
4562 return connection ;
4663 } ;
4764
@@ -116,7 +133,7 @@ module.exports = function (rpcClient, selfRpcId, parentRpcId, clusterWorkerIP) {
116133 return callback ( 'callback' , { type : 'failed' , reason : 'Create Connection failed' } ) ;
117134 }
118135
119- router . addLocalSource ( connectionId , connectionType , conn )
136+ router . addLocalSource ( connectionId , connectionType , conn . source ( ) )
120137 . then ( onSuccess ( callback ) , onError ( callback ) ) ;
121138 } ;
122139
0 commit comments