RTP - Cloning data sources
Hi,
may anyone explain this?
DataSource originalds = stream.getDataSource();
DataSource dataSource = Manager.createCloneableDataSource(originalds);
DataSource cloneds = ((SourceCloneable)dataSource).createClone();
otherParticipant.txRtpManager.createSendStream(cloneds,0);// does not work whereas...
otherParticipant.txRtpManager.createSendStream(dataSouce,0);// does work
Is there a way to build RTP over a cloned datasource?
thanks
aldo
# 1
Yeah, you can build it, but that data souce created with createCloneableDataSource MUST be utilized too in the process. So, from your code, if dataSource is opened and used at the moment, cloneds will also work. Once, dataSource is closed, cloneds will stop working. Sucks, doesnt it? :))
I tricked JMF by simply using dataSource as my local reference video. So, when I decide, that I will start transmitting RTP, i create a local video window that uses Player created from dataSouce, and further clones that are created from dataSource itself are used to transmit multiple RTP streams.
Hope, what i eplained is clear :)
# 2
Thanks for response.
Yeah, that's what I think about cloneable datasources, they sucks...
Instead of using cloneable datasources I've build an RTP server, this solution is much better than using cloneables
There's no solution, anyway thanks for you reply, half dukes :-)
bye
aldo
# 3
Hi,I didnt say there isnt a solution :) You can still use cloneables, but have to utilize the "big mama" created with createCloneableDataSource, that's all.btw, what do you mean by "i've built an RTP server" ?
# 4
Yeah, there is no solution because I've to use SourceCloneable created, instead of the clones
The best workaround, with the best scalability, is to build an RTP server, that is a Real Time Protocol. Each client (local or remote) can connect and have its own original DataSource with no need to create any clones and is free to modify its properties (size, quality, ....)
In this way you can have a process registering a full video, a process registering small frames at interval, a user process watching the real-time stream, and as many others as you want.
JMF 2.1 has an upgraded support for RTP
bye
aldo