diff options
Diffstat (limited to 'video/out/vo.h')
-rw-r--r-- | video/out/vo.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/video/out/vo.h b/video/out/vo.h index 17cb692356..3c00bb988e 100644 --- a/video/out/vo.h +++ b/video/out/vo.h @@ -45,10 +45,13 @@ enum { VO_EVENT_LIVE_RESIZING = 1 << 5, // Window fullscreen state changed via external influence. VO_EVENT_FULLSCREEN_STATE = 1 << 6, + // Special thing for encode mode (vo_driver.initially_blocked). + // Part of VO_EVENTS_USER to make vo_is_ready_for_frame() work properly. + VO_EVENT_INITIAL_UNBLOCK = 1 << 7, // Set of events the player core may be interested in. VO_EVENTS_USER = VO_EVENT_RESIZE | VO_EVENT_WIN_STATE | - VO_EVENT_FULLSCREEN_STATE, + VO_EVENT_FULLSCREEN_STATE | VO_EVENT_INITIAL_UNBLOCK, }; enum mp_voctrl { @@ -264,6 +267,12 @@ struct vo_driver { // Encoding functionality, which can be invoked via --o only. bool encode; + // This requires waiting for a VO_EVENT_INITIAL_UNBLOCK event before the + // first frame can be sent. Doing vo_reconfig*() calls is allowed though. + // Encode mode uses this, the core uses vo_is_ready_for_frame() to + // implicitly check for this. + bool initially_blocked; + // VO_CAP_* bits int caps; |