Index: ppapi/cpp/private/video_destination_private.h |
diff --git a/ppapi/cpp/video_reader.h b/ppapi/cpp/private/video_destination_private.h |
similarity index 21% |
copy from ppapi/cpp/video_reader.h |
copy to ppapi/cpp/private/video_destination_private.h |
index 57e85a5c8f9dff9c53fdf35224378f8fab263364..a936485090184e28e9938fed5b99f5dc337c657d 100644 |
--- a/ppapi/cpp/video_reader.h |
+++ b/ppapi/cpp/private/video_destination_private.h |
@@ -2,8 +2,8 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#ifndef PPAPI_CPP_VIDEO_READER_H_ |
-#define PPAPI_CPP_VIDEO_READER_H_ |
+#ifndef PPAPI_CPP_PRIVATE_VIDEO_DESTINATION_PRIVATE_H_ |
+#define PPAPI_CPP_PRIVATE_VIDEO_DESTINATION_PRIVATE_H_ |
#include <string> |
@@ -13,58 +13,75 @@ |
#include "ppapi/cpp/resource.h" |
/// @file |
-/// This file defines the API to create and use video stream readers. |
+/// This file defines the <code>PPB_VideoDestination_Private</code> interface |
+/// for a video destination resource, which sends video frames to a MediaStream |
+/// video track in the browser. |
namespace pp { |
class InstanceHandle; |
-class VideoFrame; |
+class VideoFrame_Private; |
-// VideoReader ----------------------------------------------------------------- |
- |
-/// The <code>VideoReader</code> class represents a video reader resource. |
-class VideoReader : public Resource { |
+/// The <code>VideoDestination_Private</code> class contains methods for |
+/// creating video destination resources and using them to send video frames to |
+/// a MediaStream video track in the browser. |
+class VideoDestination_Private : public Resource { |
public: |
- /// Default constructor for creating a <code>VideoReader</code> object. |
- VideoReader(); |
+ /// Default constructor for creating a <code>VideoDestination_Private</code> |
+ /// object. |
+ VideoDestination_Private(); |
- /// Constructor for creating a <code>VideoReader</code> for an instance. |
- explicit VideoReader(const InstanceHandle& instance); |
+ /// Constructor for creating a <code>VideoDestination_Private</code> for an |
+ /// instance. |
+ explicit VideoDestination_Private(const InstanceHandle& instance); |
- /// The copy constructor for <code>VideoReader</code>. |
+ /// The copy constructor for <code>VideoDestination_Private</code>. |
/// |
- /// @param[in] other A reference to a <code>VideoReader</code>. |
- VideoReader(const VideoReader& other); |
+ /// @param[in] other A reference to a <code>VideoDestination_Private</code>. |
+ VideoDestination_Private(const VideoDestination_Private& other); |
/// A constructor used when you have received a PP_Resource as a return |
/// value that has had its reference count incremented for you. |
/// |
- /// @param[in] resource A PP_Resource corresponding to a video reader. |
- VideoReader(PassRef, PP_Resource resource); |
+ /// @param[in] resource A PP_Resource corresponding to a video destination. |
+ VideoDestination_Private(PassRef, PP_Resource resource); |
- /// Opens a stream for reading video and associates it with the given id. |
+ /// Opens a video destination for putting frames. |
/// |
- /// @param[in] stream_id A <code>Var</code> uniquely identifying the stream |
- /// to read from. |
- /// @param[in] callback A <code>CompletionCallback</code> to be called upon |
- /// completion of Open. |
+ /// @param[in] stream_url A <code>Var</code> string holding a URL identifying |
+ /// a MediaStream. |
+ /// @param[in] callback A <code>CompletionCallback</code> to be |
+ /// called upon completion of Open(). |
/// |
- /// @return A return code from <code>pp_errors.h</code>. |
- int32_t Open(const Var& stream_id, |
- const CompletionCallback& cc); |
- |
- /// Gets the next frame of video from the reader's stream. |
+ /// @return An int32_t containing a result code from <code>pp_errors.h</code>. |
+ /// Returns PP_ERROR_BADRESOURCE if destination isn't a valid video |
+ /// destination. |
+ /// Returns PP_ERROR_INPROGRESS if destination is already open. |
+ /// Returns PP_ERROR_FAILED if the MediaStream doesn't exist or if there is |
+ /// some other browser error. |
+ int32_t Open(const Var& stream_url, const CompletionCallback& cc); |
+ |
+ /// Puts a frame to the video destination. |
/// |
- /// @param[in] callback A <code>CompletionCallbackWithOutput</code> to be |
- /// called upon completion of GetNextFrame. |
+ /// After this call, you should take care to release your references to the |
+ /// image embedded in the video frame. If you paint to the image after |
+ /// PutFrame(), there is the possibility of artifacts because the browser may |
+ /// still be copying the frame to the stream. |
/// |
- /// @return A return code from <code>pp_errors.h</code>. |
- int32_t GetFrame(const CompletionCallbackWithOutput<VideoFrame>& cc); |
- |
- /// Closes the reader's current stream. |
+ /// @param[in] frame A <code>VideoFrame_Private</code> holding the video |
+ /// frame to send to the destination. |
+ /// |
+ /// @return An int32_t containing a result code from <code>pp_errors.h</code>. |
+ /// Returns PP_ERROR_BADRESOURCE if destination isn't a valid video |
+ /// destination. |
+ /// Returns PP_ERROR_FAILED if destination is not open, if the video frame has |
+ /// an invalid image data resource, or if some other browser error occurs. |
+ int32_t PutFrame(const VideoFrame_Private& frame); |
+ |
+ /// Closes the video destination. |
void Close(); |
}; |
} // namespace pp |
-#endif // PPAPI_CPP_VIDEO_READER_H_ |
+#endif // PPAPI_CPP_PRIVATE_VIDEO_DESTINATION_PRIVATE_H_ |