Index: webrtc/media/base/videorenderer.h |
diff --git a/webrtc/media/base/videorenderer.h b/webrtc/media/base/videorenderer.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3d3934ec3c1402cb6f4499e428497ac0b05fa2a1 |
--- /dev/null |
+++ b/webrtc/media/base/videorenderer.h |
@@ -0,0 +1,45 @@ |
+/* |
+ * Copyright 2004 The WebRTC Project Authors. All rights reserved. |
+ * |
+ * Use of this source code is governed by a BSD-style license |
+ * that can be found in the LICENSE file in the root of the source |
+ * tree. An additional intellectual property rights grant can be found |
+ * in the file PATENTS. All contributing project authors may |
+ * be found in the AUTHORS file in the root of the source tree. |
+ */ |
+ |
+#ifndef WEBRTC_MEDIA_BASE_VIDEORENDERER_H_ |
+#define WEBRTC_MEDIA_BASE_VIDEORENDERER_H_ |
+ |
+#if !defined(NDEBUG) |
+#include <string> |
+#endif |
+ |
+#include "webrtc/base/sigslot.h" |
+ |
+namespace cricket { |
+ |
+class VideoFrame; |
+ |
+// Abstract interface for rendering VideoFrames. |
+class VideoRenderer { |
+ public: |
+ virtual ~VideoRenderer() {} |
+ // Called when the video has changed size. |
+ // TODO(nisse): This method is not really used, and should be |
+ // deleted. Provide a default do-nothing implementation, to easy the |
+ // transition as the method is deleted in subclasses, in particular, |
+ // chrome's MockVideoRenderer class. |
+ virtual bool SetSize(int width, int height, int reserved) { return true; }; |
+ // Called when a new frame is available for display. |
+ virtual bool RenderFrame(const VideoFrame *frame) = 0; |
+ |
+#if !defined(NDEBUG) |
+ // Allow renderer dumping out rendered frames. |
+ virtual bool SetDumpPath(const std::string &path) { return true; } |
+#endif |
+}; |
+ |
+} // namespace cricket |
+ |
+#endif // WEBRTC_MEDIA_BASE_VIDEORENDERER_H_ |