Monado OpenXR Runtime
gui_window_record.h File Reference

Recording window gui. More...

#include "xrt/xrt_frame.h"
#include "xrt/xrt_defines.h"
#include "xrt/xrt_config_have.h"
Include dependency graph for gui_window_record.h:

Go to the source code of this file.

Data Structures

struct  gui_record_window
 

Enumerations

enum  gui_record_bitrate { GUI_RECORD_BITRATE_32768 , GUI_RECORD_BITRATE_4096 , GUI_RECORD_BITRATE_2048 , GUI_RECORD_BITRATE_1024 }
 
enum  gui_record_pipeline {
  GUI_RECORD_PIPELINE_SOFTWARE_ULTRAFAST , GUI_RECORD_PIPELINE_SOFTWARE_VERYFAST , GUI_RECORD_PIPELINE_SOFTWARE_FAST , GUI_RECORD_PIPELINE_SOFTWARE_MEDIUM ,
  GUI_RECORD_PIPELINE_SOFTWARE_SLOW , GUI_RECORD_PIPELINE_SOFTWARE_VERYSLOW , GUI_RECORD_PIPELINE_VAAPI_H246
}
 

Functions

bool gui_window_record_init (struct gui_record_window *rw)
 Initialise a embeddable record window. More...
 
void gui_window_record_render (struct gui_record_window *rw, struct gui_program *p)
 Renders all controls of a record window. More...
 
void gui_window_record_to_background (struct gui_record_window *rw, struct gui_program *p)
 Draw the sink image as the background to the background of the render view. More...
 
void gui_window_record_close (struct gui_record_window *rw)
 Frees all resources associated with a record window. More...
 

Detailed Description

Recording window gui.

Author
Jakob Bornecrantz jakob.nosp@m.@col.nosp@m.labor.nosp@m.a.co.nosp@m.m

Function Documentation

◆ gui_window_record_close()

void gui_window_record_close ( struct gui_record_window rw)

Frees all resources associated with a record window.

Make sure to only call this function on the main gui thread, and that nothing is pushing into the record windows sink.

References gstreamer_pipeline_stop(), os_mutex::os_mutex_destroy(), os_mutex::os_mutex_lock(), os_mutex::os_mutex_unlock(), and xrt_frame_context::xrt_frame_context_destroy_nodes().

◆ gui_window_record_init()

bool gui_window_record_init ( struct gui_record_window rw)

Initialise a embeddable record window.

References xrt_frame_sink::push_frame.

◆ gui_window_record_render()

void gui_window_record_render ( struct gui_record_window rw,
struct gui_program p 
)

Renders all controls of a record window.

References gui_ogl_texture::gui_ogl_sink_update().

◆ gui_window_record_to_background()

void gui_window_record_to_background ( struct gui_record_window rw,
struct gui_program p 
)

Draw the sink image as the background to the background of the render view.

Basically the main window in which all ImGui windows lives in, not to a ImGui window.

References gui_ogl_draw_background(), and gui_ogl_texture::gui_ogl_sink_update().