Delete VideoRendererInterface.

Use in chromium was deleted a few days ago.

BUG=webrtc:5426
R=magjed@webrtc.org, pbos@webrtc.org, perkj@webrtc.org, pthatcher@webrtc.org, tkchin@webrtc.org

Review URL: https://codereview.webrtc.org/1817473002 .

Cr-Commit-Position: refs/heads/master@{#12099}
This commit is contained in:
Niels Möller
2016-03-23 10:33:07 +01:00
parent c8f952deaa
commit 8f59762897
17 changed files with 55 additions and 154 deletions

View File

@ -31,7 +31,7 @@ import javax.microedition.khronos.egl.EGLContext;
* renderFrame() is asynchronous to avoid blocking the calling thread.
* This class is thread safe and handles access from potentially four different threads:
* Interaction from the main app in init, release, setMirror, and setScalingtype.
* Interaction from C++ webrtc::VideoRendererInterface in renderFrame and canApplyRotation.
* Interaction from C++ rtc::VideoSinkInterface in renderFrame.
* Interaction from the Activity lifecycle in surfaceCreated, surfaceChanged, and surfaceDestroyed.
* Interaction with the layout framework in onMeasure and onSizeChanged.
*/

View File

@ -106,7 +106,6 @@ using webrtc::SetSessionDescriptionObserver;
using webrtc::StatsObserver;
using webrtc::StatsReport;
using webrtc::StatsReports;
using webrtc::VideoRendererInterface;
using webrtc::VideoTrackSourceInterface;
using webrtc::VideoTrackInterface;
using webrtc::VideoTrackVector;
@ -731,32 +730,10 @@ class StatsObserverWrapper : public StatsObserver {
const jmethodID j_value_ctor_;
};
// Adapter presenting a cricket::VideoRenderer as a
// webrtc::VideoRendererInterface.
class VideoRendererWrapper : public VideoRendererInterface {
public:
static VideoRendererWrapper* Create(cricket::VideoRenderer* renderer) {
if (renderer)
return new VideoRendererWrapper(renderer);
return NULL;
}
virtual ~VideoRendererWrapper() {}
void RenderFrame(const cricket::VideoFrame* video_frame) override {
ScopedLocalRefFrame local_ref_frame(AttachCurrentThreadIfNeeded());
renderer_->RenderFrame(video_frame->GetCopyWithRotationApplied());
}
private:
explicit VideoRendererWrapper(cricket::VideoRenderer* renderer)
: renderer_(renderer) {}
scoped_ptr<cricket::VideoRenderer> renderer_;
};
// Wrapper dispatching webrtc::VideoRendererInterface to a Java VideoRenderer
// Wrapper dispatching rtc::VideoSinkInterface to a Java VideoRenderer
// instance.
class JavaVideoRendererWrapper : public VideoRendererInterface {
class JavaVideoRendererWrapper
: public rtc::VideoSinkInterface<cricket::VideoFrame> {
public:
JavaVideoRendererWrapper(JNIEnv* jni, jobject j_callbacks)
: j_callbacks_(jni, j_callbacks),
@ -776,11 +753,11 @@ class JavaVideoRendererWrapper : public VideoRendererInterface {
virtual ~JavaVideoRendererWrapper() {}
void RenderFrame(const cricket::VideoFrame* video_frame) override {
void OnFrame(const cricket::VideoFrame& video_frame) override {
ScopedLocalRefFrame local_ref_frame(jni());
jobject j_frame = (video_frame->GetNativeHandle() != nullptr)
? CricketToJavaTextureFrame(video_frame)
: CricketToJavaI420Frame(video_frame);
jobject j_frame = (video_frame.GetNativeHandle() != nullptr)
? CricketToJavaTextureFrame(&video_frame)
: CricketToJavaI420Frame(&video_frame);
// |j_callbacks_| is responsible for releasing |j_frame| with
// VideoRenderer.renderFrameDone().
jni()->CallVoidMethod(*j_callbacks_, j_render_frame_id_, j_frame);
@ -1997,15 +1974,20 @@ JOW(jboolean, MediaStreamTrack_nativeSetEnabled)(
JOW(void, VideoTrack_nativeAddRenderer)(
JNIEnv* jni, jclass,
jlong j_video_track_pointer, jlong j_renderer_pointer) {
reinterpret_cast<VideoTrackInterface*>(j_video_track_pointer)->AddRenderer(
reinterpret_cast<VideoRendererInterface*>(j_renderer_pointer));
reinterpret_cast<VideoTrackInterface*>(j_video_track_pointer)
->AddOrUpdateSink(
reinterpret_cast<rtc::VideoSinkInterface<cricket::VideoFrame>*>(
j_renderer_pointer),
rtc::VideoSinkWants());
}
JOW(void, VideoTrack_nativeRemoveRenderer)(
JNIEnv* jni, jclass,
jlong j_video_track_pointer, jlong j_renderer_pointer) {
reinterpret_cast<VideoTrackInterface*>(j_video_track_pointer)->RemoveRenderer(
reinterpret_cast<VideoRendererInterface*>(j_renderer_pointer));
reinterpret_cast<VideoTrackInterface*>(j_video_track_pointer)
->RemoveSink(
reinterpret_cast<rtc::VideoSinkInterface<cricket::VideoFrame>*>(
j_renderer_pointer));
}
JOW(jlong, CallSessionFileRotatingLogSink_nativeAddSink)(

View File

@ -13,7 +13,7 @@ package org.webrtc;
import java.nio.ByteBuffer;
/**
* Java version of VideoRendererInterface. In addition to allowing clients to
* Java version of VideoSinkInterface. In addition to allowing clients to
* define their own rendering behavior (by passing in a Callbacks object), this
* class also provides a createGui() method for creating a GUI-rendering window
* on various platforms.
@ -106,7 +106,7 @@ public class VideoRenderer {
public static native void nativeCopyPlane(ByteBuffer src, int width,
int height, int srcStride, ByteBuffer dst, int dstStride);
/** The real meat of VideoRendererInterface. */
/** The real meat of VideoSinkInterface. */
public static interface Callbacks {
// |frame| might have pending rotation and implementation of Callbacks
// should handle that by applying rotation during rendering. The callee