message: Handle standalone track destruction on Transport::stop()
diff: @@ -125,6 +125,9 @@ class Transport
  //List of streams
  this.incomingStreams = new Map();
  this.outgoingStreams = new Map();
  + //LIst of tracks
  + this.incomingStreamTracks = new Map();
  + this.outgoingStreamTracks = new Map();
  //Create new sequence generator
  this.lfsr = new LFSR();
  @@ -495,8 +498,13 @@ class Transport
  outgoingStreamTrack.once("stopped",()=>{
  //Remove from transport
  this.transport.RemoveOutgoingSourceGroup(source);
  + //Remove from tracks
  + this.outgoingStreamTracks.delete(outgoingStreamTrack.getId());
  });
  + //Add to the track list
  + this.outgoingStreamTracks.set(outgoingStreamTrack.getId(),outgoingStreamTrack);
  +
  /**
  * New outgoing stream track added to transport
  *
  @@ -506,7 +514,7 @@ class Transport
  * @argument {OutgoingStreamTrack} track
  * @argument {OutgoingStream?} stream
  */
  - this.emitter.emit("outgoingtrack",outgoingStreamTrack);
  + this.emitter.emit("outgoingtrack",outgoingStreamTrack,null);
  //Return it
  return outgoingStreamTrack;
  @@ -631,8 +639,13 @@ class Transport
  for (let id of Object.keys(sources))
  //Remove source group
  this.RemoveIncomingSourceGroup(sources[id]);
  + //Remove from tracks
  + this.incomingStreamTracks.delete(incomingStreamTrack.getId());
  });
  + //Add to the track list
  + this.incomingStreamTracks.set(incomingStreamTrack.getId(),incomingStreamTrack);
  +
  /**
  * New incoming stream track added to transport
  *
  @@ -642,8 +655,7 @@ class Transport
  * @argument {IncomingStreamTrack} track
  * @argument {IncomingStream} stream
  */
  - const incomingStream = null;
  - this.emitter.emit("incomingtrack",incomingStreamTrack,incomingStream);
  + this.emitter.emit("incomingtrack",incomingStreamTrack,null);
  //Return it
  return incomingStreamTrack;
  @@ -689,6 +701,18 @@ class Transport
  this.incomingStreams.clear();
  this.outgoingStreams.clear();
  + //Stop all tracks
  + for (let track of this.incomingStreamTracks.values())
  + //stopincomingStreamsTracks
  + track.stop();
  + //Stop all tracks
  + for (let track of this.outgoingStreamTracks.values())
  + //stop
  + track.stop();
  + //Clear maps jic
  + this.incomingStreamTracks.clear();
  + this.outgoingStreamTracks.clear();
  +
  //Remove from bundle
  this.bundle.RemoveICETransport(this.username);
  