[sigslot] - Remove sigslot from MediaStreamObserver.
Bug: webrtc:11943 Change-Id: Icf91ce850913c26e45dbca1940cafd600c235ad4 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227340 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#34632}
This commit is contained in:
committed by
WebRTC LUCI CQ
parent
57c2bbd661
commit
9ff450d0c4
@ -25,8 +25,27 @@ JavaMediaStream::JavaMediaStream(
|
||||
: j_media_stream_(
|
||||
env,
|
||||
Java_MediaStream_Constructor(env,
|
||||
jlongFromPointer(media_stream.get()))),
|
||||
observer_(std::make_unique<MediaStreamObserver>(media_stream)) {
|
||||
jlongFromPointer(media_stream.get()))) {
|
||||
// Create an observer to update the Java stream when the native stream's set
|
||||
// of tracks changes.
|
||||
observer_.reset(new MediaStreamObserver(
|
||||
media_stream,
|
||||
[this](AudioTrackInterface* audio_track,
|
||||
MediaStreamInterface* media_stream) {
|
||||
OnAudioTrackAddedToStream(audio_track, media_stream);
|
||||
},
|
||||
[this](AudioTrackInterface* audio_track,
|
||||
MediaStreamInterface* media_stream) {
|
||||
OnAudioTrackRemovedFromStream(audio_track, media_stream);
|
||||
},
|
||||
[this](VideoTrackInterface* video_track,
|
||||
MediaStreamInterface* media_stream) {
|
||||
OnVideoTrackAddedToStream(video_track, media_stream);
|
||||
},
|
||||
[this](VideoTrackInterface* video_track,
|
||||
MediaStreamInterface* media_stream) {
|
||||
OnVideoTrackRemovedFromStream(video_track, media_stream);
|
||||
}));
|
||||
for (rtc::scoped_refptr<AudioTrackInterface> track :
|
||||
media_stream->GetAudioTracks()) {
|
||||
Java_MediaStream_addNativeAudioTrack(env, j_media_stream_,
|
||||
@ -37,18 +56,6 @@ JavaMediaStream::JavaMediaStream(
|
||||
Java_MediaStream_addNativeVideoTrack(env, j_media_stream_,
|
||||
jlongFromPointer(track.release()));
|
||||
}
|
||||
|
||||
// Create an observer to update the Java stream when the native stream's set
|
||||
// of tracks changes.
|
||||
observer_->SignalAudioTrackRemoved.connect(
|
||||
this, &JavaMediaStream::OnAudioTrackRemovedFromStream);
|
||||
observer_->SignalVideoTrackRemoved.connect(
|
||||
this, &JavaMediaStream::OnVideoTrackRemovedFromStream);
|
||||
observer_->SignalAudioTrackAdded.connect(
|
||||
this, &JavaMediaStream::OnAudioTrackAddedToStream);
|
||||
observer_->SignalVideoTrackAdded.connect(
|
||||
this, &JavaMediaStream::OnVideoTrackAddedToStream);
|
||||
|
||||
// `j_media_stream` holds one reference. Corresponding Release() is in
|
||||
// MediaStream_free, triggered by MediaStream.dispose().
|
||||
media_stream.release();
|
||||
|
||||
@ -21,12 +21,12 @@
|
||||
namespace webrtc {
|
||||
namespace jni {
|
||||
|
||||
class JavaMediaStream : public sigslot::has_slots<> {
|
||||
class JavaMediaStream {
|
||||
public:
|
||||
explicit JavaMediaStream(
|
||||
JNIEnv* env,
|
||||
rtc::scoped_refptr<MediaStreamInterface> media_stream);
|
||||
~JavaMediaStream() override;
|
||||
~JavaMediaStream();
|
||||
|
||||
const ScopedJavaGlobalRef<jobject>& j_media_stream() {
|
||||
return j_media_stream_;
|
||||
|
||||
Reference in New Issue
Block a user