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

Side by Side Diff: ppapi/c/private/ppb_video_destination_private.h

Issue 14192054: Rename PPAPI Video Stream APIs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 /* Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 * Use of this source code is governed by a BSD-style license that can be
3 * found in the LICENSE file.
4 */
5
6 /* From private/ppb_video_destination_private.idl,
7 * modified Wed Apr 24 11:46:52 2013.
8 */
9
10 #ifndef PPAPI_C_PRIVATE_PPB_VIDEO_DESTINATION_PRIVATE_H_
11 #define PPAPI_C_PRIVATE_PPB_VIDEO_DESTINATION_PRIVATE_H_
12
13 #include "ppapi/c/pp_bool.h"
14 #include "ppapi/c/pp_completion_callback.h"
15 #include "ppapi/c/pp_instance.h"
16 #include "ppapi/c/pp_macros.h"
17 #include "ppapi/c/pp_resource.h"
18 #include "ppapi/c/pp_stdint.h"
19 #include "ppapi/c/pp_time.h"
20 #include "ppapi/c/pp_var.h"
21 #include "ppapi/c/private/pp_video_frame_private.h"
22
23 #define PPB_VIDEODESTINATION_PRIVATE_INTERFACE_0_1 \
24 "PPB_VideoDestination_Private;0.1"
25 #define PPB_VIDEODESTINATION_PRIVATE_INTERFACE \
26 PPB_VIDEODESTINATION_PRIVATE_INTERFACE_0_1
27
28 /**
29 * @file
30 * This file defines the <code>PPB_VideoDestination_Private</code> interface
31 * for a video destination resource. A video destination sends video frames to
32 * a MediaStream video track.
33 */
34
35
36 /**
37 * @addtogroup Interfaces
38 * @{
39 */
40 /**
41 * The <code>PPB_VideoDestination_Private</code> interface contains pointers to
42 * several functions for creating video destination resources and using them to
43 * send video frames to a MediaStream in the browser.
44 */
45 struct PPB_VideoDestination_Private_0_1 {
46 /**
47 * Creates a video destination resource.
48 *
49 * @param[in] instance A <code>PP_Instance</code> identifying an instance of
50 * a module.
51 *
52 * @return A <code>PP_Resource</code> with a nonzero ID on success or zero on
53 * failure. Failure means the instance was invalid.
54 */
55 PP_Resource (*Create)(PP_Instance instance);
56 /**
57 * Determines if a resource is a video destination resource.
58 *
59 * @param[in] resource The <code>PP_Resource</code> to test.
60 *
61 * @return A <code>PP_Bool</code> with <code>PP_TRUE</code> if the given
62 * resource is a video destination resource or <code>PP_FALSE</code>
63 * otherwise.
64 */
65 PP_Bool (*IsVideoDestination)(PP_Resource resource);
66 /**
67 * Opens a video destination for sending frames.
68 *
69 * @param[in] destination A <code>PP_Resource</code> corresponding to a video
70 * destination resource.
71 * @param[in] stream_id A <code>PP_Var</code> holding a string uniquely
72 * identifying a MediaStream.
73 * @param[in] callback A <code>PP_CompletionCallback</code> to be called upon
74 * completion of Open().
75 *
76 * @return An int32_t containing a result code from <code>pp_errors.h</code>.
77 * Returns PP_ERROR_BADRESOURCE if destination isn't a valid video
78 * destination.
79 * Returns PP_ERROR_INPROGRESS if destination is already open.
80 * Returns PP_ERROR_FAILED if the MediaStream doesn't exist or if there is
81 * some other browser error.
82 */
83 int32_t (*Open)(PP_Resource destination,
84 struct PP_Var stream_id,
85 struct PP_CompletionCallback callback);
86 /**
87 * Sends a frame of video to the video destination.
88 *
89 * After this call, you should take care to release your references to the
90 * image embedded in the video frame. If you paint to the image after
91 * SendFrame(), there is the possibility of artifacts because the browser may
92 * still be copying the frame to the stream.
93 *
94 * @param[in] destination A <code>PP_Resource</code> corresponding to a video
95 * destination resource.
96 * @param[in] frame A <code>PP_VideoFrame_Private</code> holding the video
97 * frame to send to the destination.
98 *
99 * @return An int32_t containing a result code from <code>pp_errors.h</code>.
100 * Returns PP_ERROR_BADRESOURCE if destination isn't a valid video
101 * destination.
102 * Returns PP_ERROR_FAILED if destination is not open, if the video frame has
103 * an invalid image data resource, or if some other browser error occurs.
104 */
105 int32_t (*SendFrame)(PP_Resource destination,
106 const struct PP_VideoFrame_Private* frame);
107 /**
108 * Closes the video destination.
109 *
110 * @param[in] destination A <code>PP_Resource</code> corresponding to a video
111 * destination.
112 */
113 void (*Close)(PP_Resource destination);
114 };
115
116 typedef struct PPB_VideoDestination_Private_0_1 PPB_VideoDestination_Private;
117 /**
118 * @}
119 */
120
121 #endif /* PPAPI_C_PRIVATE_PPB_VIDEO_DESTINATION_PRIVATE_H_ */
122
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698