summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/nullvideo.c
Side-by-side diff
Diffstat (limited to 'noncore/multimedia/opieplayer2/nullvideo.c') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/nullvideo.c37
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
@@ -1,40 +1,42 @@
/*#include <xine.h>*/
#include <stdlib.h>
#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;
};
static uint32_t null_get_capabilities(vo_driver_t *self ){
null_driver_t* this = (null_driver_t*)self;
printf("capabilities\n");
return this->m_capabilities;
}
/* take care of the frame*/
static void null_frame_dispose( vo_frame_t* vo_img){
opie_frame_t* frame = (opie_frame_t*)vo_img;
printf("frame_dispose\n");
free (frame);
}
@@ -126,58 +128,91 @@ static void null_get_property_min_max( vo_driver_t* self,
int property, int *min,
int *max ){
printf("min max\n");
*max = 0;
*min = 0;
}
static int null_gui_data_exchange( vo_driver_t* self,
int data_type,
void *data ){
return 0;
}
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;
vo->vo_driver.exit = null_exit;
vo->vo_driver.redraw_needed = null_redraw_needed;
/* capabilities */
vo->m_capabilities = /*VO_CAP_COPIES_IMAGE |*/ VO_CAP_YV12 | VO_CAP_BRIGHTNESS;
printf("done initialisation\n");
return (vo_driver_t*) vo;
}
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;
+}
+