Subject: RE: Adding Streams

From: "Rosen, Brian" <[email-masked]>
Date: Wed, 7 Mar 2001 08:12:24 -0500

We have a major disconnect on what a stream is, and what multiple streams
in a context mean.

My view of streams is that a termination normally is connected to all
streams in a context.  The canonical example is a video conference, which
would have an audio stream, a video stream and a T.120 stream.  All
terminations
in the context are in all streams.

In your example, if T1 & T2 are connected to streams 1 & 2, then when you
add
T3, it is connected to streams 1 & 2 and if you then add stream 3, then
T1 and T2 are connected to stream 3.  

If you don't want streams 1 & 2 to be connected to T3, why are you putting
T3 in the context with T1 and T2?  By your argument, if I have T1 and T2
connected on stream 1 (forget stream 2 and 3), and Add T3 to the context
without any media descriptor, it is not connected to anything!

The example you used makes no sense -- if T1 is connected to stream 1 and
T2 is connected to stream 2, then there is no connection at all, you have
a bunch of one termination contexts.  If that is what you want, then use
separate contexts. 

Stream IDs exist so you can modify the properties of each stream
independently.
They don't imply which terminations are connected to which streams

All terminations are always on all streams in the termination.

Brian

> -----Original Message-----
> From: Christian Groves [mailto:[email-masked]]
> Sent: Tuesday, March 06, 2001 8:49 PM
> To: Rosen, Brian
> Cc: [email-masked]'
> Subject: Re: Adding Streams
> 
> 
> The answer is ABSOLUTELY NO to both questions !!!!!!
> 
> Stream IDs relate the different streams on terminations.
> 
> Extend this a little:
> T1 and T2 have streams 1 & 2. Add T3 with stream 3. Should stream 3 be
> connected to 1 or 2? The MG can't possibly know. If you send 
> down 1 or 2
> it is completely unambiguous. The very reason we had stream 
> IDs was for
> this relation.
> 
> Christian
> 
> 
> 
> "Rosen, Brian" wrote:
> > 
> > Suppose you create a context and add two terminations to it with
> > StreamId=1.  Then you add a third termination and specify
> > a media descriptor with StreamId=2.
> > 
> > Is the third termination connected to the other two on StreamId=1?
> > 
> > Are the first two terminations connected to the third on StreamId=2?
> > 
> > I think the answer is yes to both questions.
> > 
> > Brian
>

---

From: Christian Groves <[email-masked]>
Date: Thu, 08 Mar 2001 11:13:57 +1100

A major disconnect, i'll say :-). 
A stream ID is used represent a flow of media. Perhaps my example needed
some more text:

o StreamID 1 is audio
o StreamID 2 is data
o StreamID 3 is video
o The MGC set up the MG as follows: T1 has both Stream ID 1 & 2, T2 has
both stream ID 1 & 2 and they are in the same context. Because T1 and T2
have both StID 1 and 2 they communicate.
o Now add T3 to the context with StrID3.
o StrID3 IS NOT added to T1 & T2, not by the MGC nor automatically by
the MG. Nor should the MG connect StreamID3 to StrID1 or StrID2 because
they are incompatible streams.
o The MGC will add StrID3 to T1. 
THUS:
T1 and T2 will communication with StrID1 audio and StrID2 data.
T1 and T3 will communicate with StrID3 video.

You're going to need a VERY smart MG to figure all this out by itself.
The behaviour you describes would add all stream on all terminations
when in fact in many cases not all streams are applicable or valid on
all terminations. Given the behaviour you describe if you set a property
in Local/Remote on T1 is this automatically mirrored on T2 and T3? It
shouldn't but by your behaviour if you add T3 then you'll set
local/remote on T1 and T2.

Christian