mlohse at cs.uni-sb.de
Mon Nov 3 05:56:05 CET 2003
I realized that you recently discussed NMM ( www.networkmultimedia.org )
on your mailing-list.
As I am one of the developers of NMM, I would like to correct some
details that were written on the list and that are technically wrong.
Please, understand me right, I do not want to start a discussion about
which architecture is better in the one or other way. I just want people
to read the facts about NMM. As you all are developers, I am sure you
will respect this.
Ronald Bultje wrote:
> Hi Karl,
> On Mon, 2003-10-27 at 10:01, Karl Schmitz wrote:
>>Now I was wondering what you gstreamer guys think about NMM ?
> One specific comment: they mention network-transparency. That whole
> concept is very overrated. Network-transparency has no use in 99,9% of
> the cases (do you see win32 users play back their mp3s on one computer
> to listen to it on the other?) and severly slows down the whole process
> because - locally - all data must be copied from one element to the
> other (pipes, sockets, fifos, whatever) instead of passing refcounted
> pointers. We provide network-elements as a special case, not as a
> default, because of this.
The first thing I want to correct is that there is absolutely no
overhead for all locally running parts of an NMM application (like a
flow graph) : just simple passing of refcounted pointers. Networking is
only done when needed. The nice thing about NMM is that this is done
The other thing is, that - of course - win32 users do not run networked
multimedia application since they do not have anything like NMM ;)
My last point: network-transparency makes sense especially for
multimedia computing. Simple example: you have a TV-board
(digital/analog) in a remote machine. Now you want to watch TV on your
local host. And you want to change the TV channels from your local host.
Of course, you could write some 'streaming' application, start a server,
start a client, connect to the server, change the channel on the server
via X forwarding or remote log in, ...
Or you use NMM, and simply change one line of code, namely : set the
hostname for the source element for receiving TV to be the remote host.
Eveything else - like calling the method for setting the TV channel -
stays the same.
Another nice example where network-transparency does make sense:
More information about the gstreamer-devel