一,什么是生产者?
生产者创建内容并与有权限的消费者共享。
作为生产者,必须相应地设置流以供消费。通常,我们需要在生产者应用程序中执行接下来的流程来共享产生的内容。
二,创建生产者的流
调用 screen_create_stream() 为生产者创建流以进行渲染。例如
...
screen_context_t screen_pctx;
screen_create_context(&screen_pctx, SCREEN_APPLICATION_CONTEXT);
...
/* Create the producer's stream */
screen_stream_t stream_p;
screen_create_stream(&stream_p, screen_pctx);
...
三,在生产者的流上设置适当的属性
调用相应的 screen_set_stream_property_*() 函数来设置生产者流的属性。我们至少应该设置以下属性:
- SCREEN_PROPERTY_BUFFER_SIZE
- SCREEN_PROPERTY_FORMAT
- SCREEN_PROPERTY_USAGE
SCREEN_PROPERTY_USAGE 必须反映生产者的需求。也就是说,如果生产者打算使用 Khronos 渲染 API 渲染到流中,那么使用标志必须反映这种渲染选择。例如
...
int buffer_size[2] = {720, 720};
screen_set_stream_property_iv(stream_p, SCREEN_PROPERTY_BUFFER_SIZE, buffer_size);
screen_set_stream_property_iv(str