| Index: webrtc/examples/androidapp/src/org/appspot/apprtc/CallActivity.java
|
| diff --git a/webrtc/examples/androidapp/src/org/appspot/apprtc/CallActivity.java b/webrtc/examples/androidapp/src/org/appspot/apprtc/CallActivity.java
|
| index 9c3347bbcf1c5850675041debd9a02c6da0d21da..45bc26b64d8679ae21708cf42738a412ee045e3f 100644
|
| --- a/webrtc/examples/androidapp/src/org/appspot/apprtc/CallActivity.java
|
| +++ b/webrtc/examples/androidapp/src/org/appspot/apprtc/CallActivity.java
|
| @@ -56,7 +56,9 @@ import org.webrtc.StatsReport;
|
| import org.webrtc.SurfaceViewRenderer;
|
| import org.webrtc.VideoCapturer;
|
| import org.webrtc.VideoFileRenderer;
|
| +import org.webrtc.VideoFrame;
|
| import org.webrtc.VideoRenderer;
|
| +import org.webrtc.VideoSink;
|
|
|
| /**
|
| * Activity for peer connection call setup, call waiting
|
| @@ -137,9 +139,11 @@ public class CallActivity extends Activity implements AppRTCClient.SignalingEven
|
| // Peer connection statistics callback period in ms.
|
| private static final int STAT_CALLBACK_PERIOD = 1000;
|
|
|
| - private class ProxyRenderer implements VideoRenderer.Callbacks {
|
| - private VideoRenderer.Callbacks target;
|
| + private class ProxyRenderer<T extends VideoRenderer.Callbacks & VideoSink>
|
| + implements VideoRenderer.Callbacks, VideoSink {
|
| + private T target;
|
|
|
| + @Override
|
| synchronized public void renderFrame(VideoRenderer.I420Frame frame) {
|
| if (target == null) {
|
| Logging.d(TAG, "Dropping frame in proxy because target is null.");
|
| @@ -150,7 +154,17 @@ public class CallActivity extends Activity implements AppRTCClient.SignalingEven
|
| target.renderFrame(frame);
|
| }
|
|
|
| - synchronized public void setTarget(VideoRenderer.Callbacks target) {
|
| + @Override
|
| + synchronized public void onFrame(VideoFrame frame) {
|
| + if (target == null) {
|
| + Logging.d(TAG, "Dropping frame in proxy because target is null.");
|
| + return;
|
| + }
|
| +
|
| + target.onFrame(frame);
|
| + }
|
| +
|
| + synchronized public void setTarget(T target) {
|
| this.target = target;
|
| }
|
| }
|
|
|