Change stream.AddTrack/RemoveTrack to take a scoped_refptr argument

This better reflects the ownership passing of AddTrack, and is more
consistent for RemoveTrack.

Bug: webrtc:13980
Change-Id: Ide5baccf15fc687a4e092f8831ce8c0fea46604e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259740
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36603}
This commit is contained in:
Harald Alvestrand
2022-04-21 11:35:43 +00:00
committed by WebRTC LUCI CQ
parent 8088aad5ac
commit 2f7ad28a6d
14 changed files with 145 additions and 105 deletions

View File

@ -113,7 +113,8 @@ static jboolean JNI_MediaStream_AddAudioTrackToNativeStream(
jlong pointer,
jlong j_audio_track_pointer) {
return reinterpret_cast<MediaStreamInterface*>(pointer)->AddTrack(
reinterpret_cast<AudioTrackInterface*>(j_audio_track_pointer));
rtc::scoped_refptr<AudioTrackInterface>(
reinterpret_cast<AudioTrackInterface*>(j_audio_track_pointer)));
}
static jboolean JNI_MediaStream_AddVideoTrackToNativeStream(
@ -121,21 +122,24 @@ static jboolean JNI_MediaStream_AddVideoTrackToNativeStream(
jlong pointer,
jlong j_video_track_pointer) {
return reinterpret_cast<MediaStreamInterface*>(pointer)->AddTrack(
reinterpret_cast<VideoTrackInterface*>(j_video_track_pointer));
rtc::scoped_refptr<VideoTrackInterface>(
reinterpret_cast<VideoTrackInterface*>(j_video_track_pointer)));
}
static jboolean JNI_MediaStream_RemoveAudioTrack(JNIEnv* jni,
jlong pointer,
jlong j_audio_track_pointer) {
return reinterpret_cast<MediaStreamInterface*>(pointer)->RemoveTrack(
reinterpret_cast<AudioTrackInterface*>(j_audio_track_pointer));
rtc::scoped_refptr<AudioTrackInterface>(
reinterpret_cast<AudioTrackInterface*>(j_audio_track_pointer)));
}
static jboolean JNI_MediaStream_RemoveVideoTrack(JNIEnv* jni,
jlong pointer,
jlong j_video_track_pointer) {
return reinterpret_cast<MediaStreamInterface*>(pointer)->RemoveTrack(
reinterpret_cast<VideoTrackInterface*>(j_video_track_pointer));
rtc::scoped_refptr<VideoTrackInterface>(
reinterpret_cast<VideoTrackInterface*>(j_video_track_pointer)));
}
static ScopedJavaLocalRef<jstring> JNI_MediaStream_GetId(JNIEnv* jni,