Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(358)

Unified Diff: talk/app/webrtc/java/src/org/webrtc/RtpSender.java

Issue 1351803002: Exposing RtpSenders and RtpReceivers from PeerConnection. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Fixing indentation. Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: talk/app/webrtc/java/src/org/webrtc/RtpSender.java
diff --git a/talk/app/webrtc/java/src/org/webrtc/CallSessionFileRotatingLogSink.java b/talk/app/webrtc/java/src/org/webrtc/RtpSender.java
similarity index 59%
copy from talk/app/webrtc/java/src/org/webrtc/CallSessionFileRotatingLogSink.java
copy to talk/app/webrtc/java/src/org/webrtc/RtpSender.java
index f7032a739bdbb24ac93dc000b9a42fb11223cc40..617bdebd2745066eb5e32640c773c9617d88db49 100644
--- a/talk/app/webrtc/java/src/org/webrtc/CallSessionFileRotatingLogSink.java
+++ b/talk/app/webrtc/java/src/org/webrtc/RtpSender.java
@@ -27,31 +27,43 @@
package org.webrtc;
-public class CallSessionFileRotatingLogSink {
- static {
- System.loadLibrary("jingle_peerconnection_so");
- }
+/** Java wrapper for a C++ RtpSenderInterface. */
+public class RtpSender {
+ final long nativeRtpSender;
+
+ private MediaStreamTrack cachedTrack;
- private long nativeSink;
+ public RtpSender(long nativeRtpSender) {
+ this.nativeRtpSender = nativeRtpSender;
+ long track = nativeTrack(nativeRtpSender);
+ cachedTrack = (track == 0) ? null : new MediaStreamTrack(track);
pthatcher1 2015/09/23 14:47:39 Same here as with receivers.
+ }
- public static byte[] getLogData(String dirPath) {
- return nativeGetLogData(dirPath);
+ public void setTrack(MediaStreamTrack track) {
+ if (cachedTrack != null) {
+ cachedTrack.dispose();
+ }
+ nativeSetTrack(nativeRtpSender, track.nativeTrack);
+ cachedTrack = track;
}
- public CallSessionFileRotatingLogSink(
- String dirPath, int maxFileSize, Logging.Severity severity) {
- nativeSink = nativeAddSink(dirPath, maxFileSize, severity.ordinal());
+ public MediaStreamTrack track() {
+ return cachedTrack;
}
public void dispose() {
- if (nativeSink != 0) {
- nativeDeleteSink(nativeSink);
- nativeSink = 0;
+ free(nativeRtpSender);
+ if (cachedTrack != null) {
+ cachedTrack.dispose();
}
}
- private static native long nativeAddSink(
- String dirPath, int maxFileSize, int severity);
- private static native void nativeDeleteSink(long nativeSink);
- private static native byte[] nativeGetLogData(String dirPath);
+ private static native void nativeSetTrack(long nativeRtpSender, long nativeTrack);
+
+ // This should increment the reference count of the track, with the assumption
+ // that a MediaStreamTrack will be created which will release it.
+ private static native long nativeTrack(long nativeRtpSender);
+
+ private static native void free(long nativeRtpSender);
}
+;

Powered by Google App Engine
This is Rietveld 408576698