Diffstat (limited to 'noncore/multimedia/opieplayer2/nullvideo.c') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/multimedia/opieplayer2/nullvideo.c | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/noncore/multimedia/opieplayer2/nullvideo.c b/noncore/multimedia/opieplayer2/nullvideo.c index 5224862..b8b8eb3 100644 --- a/noncore/multimedia/opieplayer2/nullvideo.c +++ b/noncore/multimedia/opieplayer2/nullvideo.c @@ -4,25 +4,27 @@ #include <stdio.h> #include <xine/video_out.h> #include <xine/xine_internal.h> #include <xine/xineutils.h> #include <xine/configfile.h> typedef struct null_driver_s null_driver_t; struct null_driver_s { vo_driver_t vo_driver; uint32_t m_capabilities; - + int m_show_video; + int m_video_fullscreen; + int m_is_scaling; }; typedef struct opie_frame_s opie_frame_t; struct opie_frame_s { vo_frame_t frame; char* name; int version; int m_width; int m_height; uint8_t *chunk[3]; null_driver_t *output; }; @@ -138,24 +140,27 @@ static void null_exit( vo_driver_t* self ){ null_driver_t* this = (null_driver_t*)self; free ( this ); } static int null_redraw_needed( vo_driver_t* self ){ return 0; } vo_driver_t* init_video_out_plugin( config_values_t* conf, void* video ){ null_driver_t *vo; vo = (null_driver_t*)malloc( sizeof(null_driver_t ) ); + vo->m_show_video = 0; // false + vo->m_video_fullscreen = 0; + vo->m_is_scaling = 0; /* memset? */ /* install callback handlers*/ vo->vo_driver.get_capabilities = null_get_capabilities; vo->vo_driver.alloc_frame = null_alloc_frame; vo->vo_driver.update_frame_format = null_update_frame_format; vo->vo_driver.display_frame = null_display_frame; vo->vo_driver.overlay_blend = null_overlay_blend; vo->vo_driver.get_property = null_get_property; vo->vo_driver.set_property = null_set_property; vo->vo_driver.get_property_min_max = null_get_property_min_max; vo->vo_driver.gui_data_exchange = null_gui_data_exchange; @@ -172,12 +177,42 @@ vo_driver_t* init_video_out_plugin( config_values_t* conf, static vo_info_t vo_info_null = { 5, "null plugin", NULL, VISUAL_TYPE_FB, 5 }; vo_info_t *get_video_out_plugin_info(){ vo_info_null.description = _("xine video output plugin using null device"); return &vo_info_null; } + +/* this is special for this device */ +/** + * We know that we will be controled by the XINE LIB++ + */ + +/** + * + */ +int null_is_showing_video( vo_driver_t* self ){ + null_driver_t* this = (null_driver_t*)self; + return this->m_show_video; +} +void null_set_show_video( vo_driver_t* self, int show ) { + ((null_driver_t*)self)->m_show_video = show; +} + +int null_is_fullscreen( vo_driver_t* self ){ + return ((null_driver_t*)self)->m_video_fullscreen; +} +void null_set_fullscreen( vo_driver_t* self, int screen ){ + ((null_driver_t*)self)->m_video_fullscreen = screen; +} +int null_is_scaling( vo_driver_t* self ){ + return ((null_driver_t*)self)->m_is_scaling; +} +void null_set_scaling( vo_driver_t* self, int scale ){ + ((null_driver_t*)self)->m_is_scaling = scale; +} + |