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

[563 byte] By [uihytffghjka] at [2007-11-26 18:17:51]
# 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 :)

andreyvka at 2007-7-9 5:51:28 > top of Java-index,Security,Cryptography...
# 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

uihytffghjka at 2007-7-9 5:51:28 > top of Java-index,Security,Cryptography...
# 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" ?
andreyvka at 2007-7-9 5:51:28 > top of Java-index,Security,Cryptography...
# 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

uihytffghjka at 2007-7-9 5:51:28 > top of Java-index,Security,Cryptography...