Diffstat (limited to 'noncore/multimedia/opieplayer2') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/multimedia/opieplayer2/lib.cpp | 7 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/nullvideo.c | 62 |
2 files changed, 37 insertions, 32 deletions
diff --git a/noncore/multimedia/opieplayer2/lib.cpp b/noncore/multimedia/opieplayer2/lib.cpp index 96bdb21..4a96408 100644 --- a/noncore/multimedia/opieplayer2/lib.cpp +++ b/noncore/multimedia/opieplayer2/lib.cpp @@ -49,9 +49,10 @@ #include "lib.h" + typedef void (*display_xine_frame_t) (void *user_data, uint8_t* frame, int width, int height,int bytes ); extern "C" { - xine_vo_driver_t* init_video_out_plugin( xine_cfg_entry_t* conf, void* video); + xine_vo_driver_t* init_video_out_plugin( xine_t *xine, void* video, display_xine_frame_t, void * ); int null_is_showing_video( const xine_vo_driver_t* self ); void null_set_show_video( const xine_vo_driver_t* self, int show ); @@ -95,5 +96,5 @@ Lib::Lib( XineVideoWidget* widget ) { // and fb for framebuffer m_audioOutput = xine_open_audio_driver( m_xine, "oss", NULL ); - m_videoOutput = ::init_video_out_plugin( m_config, NULL ); + m_videoOutput = ::init_video_out_plugin( m_xine, NULL, xine_display_frame, this ); @@ -101,5 +102,5 @@ Lib::Lib( XineVideoWidget* widget ) { - null_display_handler( m_videoOutput, xine_display_frame, this ); +// null_display_handler( m_videoOutput, xine_display_frame, this ); m_stream = xine_stream_new (m_xine, m_audioOutput, m_videoOutput ); diff --git a/noncore/multimedia/opieplayer2/nullvideo.c b/noncore/multimedia/opieplayer2/nullvideo.c index 9c285a0..1ebb854 100644 --- a/noncore/multimedia/opieplayer2/nullvideo.c +++ b/noncore/multimedia/opieplayer2/nullvideo.c @@ -60,5 +60,5 @@ typedef struct null_driver_s null_driver_t; struct null_driver_s { - xine_vo_driver_t vo_driver; + vo_driver_t vo_driver; uint32_t m_capabilities; @@ -108,5 +108,5 @@ struct opie_frame_s { }; -static uint32_t null_get_capabilities( xine_vo_driver_t *self ){ +static uint32_t null_get_capabilities( vo_driver_t *self ){ null_driver_t* this = (null_driver_t*)self; return this->m_capabilities; @@ -164,5 +164,5 @@ static void null_frame_dispose( vo_frame_t* vo_img){ /* end take care of frames*/ -static vo_frame_t* null_alloc_frame( xine_vo_driver_t* self ){ +static vo_frame_t* null_alloc_frame( vo_driver_t* self ){ null_driver_t* this = (null_driver_t*)self; @@ -196,5 +196,5 @@ static vo_frame_t* null_alloc_frame( xine_vo_driver_t* self ){ } -static void null_update_frame_format( xine_vo_driver_t* self, vo_frame_t* img, +static void null_update_frame_format( vo_driver_t* self, vo_frame_t* img, uint32_t width, uint32_t height, int ratio_code, int format, int flags ){ @@ -339,5 +339,5 @@ static void null_update_frame_format( xine_vo_driver_t* self, vo_frame_t* img, } -static void null_display_frame( xine_vo_driver_t* self, vo_frame_t *frame_gen ){ +static void null_display_frame( vo_driver_t* self, vo_frame_t *frame_gen ){ null_driver_t* this = (null_driver_t*) self; opie_frame_t* frame = (opie_frame_t*)frame_gen; @@ -382,5 +382,5 @@ static void null_overlay_clut_yuv2rgb (null_driver_t *this, } -static void null_overlay_blend ( xine_vo_driver_t *this_gen, vo_frame_t *frame_gen, vo_overlay_t *overlay) { +static void null_overlay_blend ( vo_driver_t *this_gen, vo_frame_t *frame_gen, vo_overlay_t *overlay) { null_driver_t *this = (null_driver_t *) this_gen; opie_frame_t *frame = (opie_frame_t *) frame_gen; @@ -419,14 +419,14 @@ static void null_overlay_blend ( xine_vo_driver_t *this_gen, vo_frame_t *frame_g -static int null_get_property( xine_vo_driver_t* self, +static int null_get_property( vo_driver_t* self, int property ){ return 0; } -static int null_set_property( xine_vo_driver_t* self, +static int null_set_property( vo_driver_t* self, int property, int value ){ return value; } -static void null_get_property_min_max( xine_vo_driver_t* self, +static void null_get_property_min_max( vo_driver_t* self, int property, int *min, int *max ){ @@ -434,5 +434,5 @@ static void null_get_property_min_max( xine_vo_driver_t* self, *min = 0; } -static int null_gui_data_exchange( xine_vo_driver_t* self, +static int null_gui_data_exchange( vo_driver_t* self, int data_type, void *data ){ @@ -440,15 +440,15 @@ static int null_gui_data_exchange( xine_vo_driver_t* self, } -static void null_dispose ( xine_vo_driver_t* self ){ +static void null_dispose ( vo_driver_t* self ){ null_driver_t* this = (null_driver_t*)self; free ( this ); } -static int null_redraw_needed( xine_vo_driver_t* self ){ +static int null_redraw_needed( vo_driver_t* self ){ return 0; } -xine_vo_driver_t* init_video_out_plugin( config_values_t* conf, - void* video ){ +xine_vo_driver_t* init_video_out_plugin( xine_t *xine, + void* video, display_xine_frame_t frameDisplayFunc, void *userData ){ null_driver_t *vo; vo = (null_driver_t*)malloc( sizeof(null_driver_t ) ); @@ -457,5 +457,5 @@ xine_vo_driver_t* init_video_out_plugin( config_values_t* conf, memset(vo,0, sizeof(null_driver_t ) ); - vo_scale_init (&vo->sc, 0, 0); + vo_scale_init (&vo->sc, 0, 0, xine->config); vo->sc.gui_pixel_aspect = 1.0; @@ -488,5 +488,9 @@ xine_vo_driver_t* init_video_out_plugin( config_values_t* conf, vo->yuv2rgb_cmap); - return ( xine_vo_driver_t*) vo; + vo->caller = userData; + vo->frameDis = frameDisplayFunc; + + /* return ( vo_driver_t*) vo; */ + return vo_new_port( xine, ( vo_driver_t* )vo ); } @@ -513,40 +517,40 @@ vo_info_t *get_video_out_plugin_info(){ */ int null_is_showing_video( xine_vo_driver_t* self ){ - null_driver_t* this = (null_driver_t*)self; + null_driver_t* this = (null_driver_t*)self->driver; return this->m_show_video; } void null_set_show_video( xine_vo_driver_t* self, int show ) { - ((null_driver_t*)self)->m_show_video = show; + ((null_driver_t*)self->driver)->m_show_video = show; } int null_is_fullscreen( xine_vo_driver_t* self ){ - return ((null_driver_t*)self)->m_video_fullscreen; + return ((null_driver_t*)self->driver)->m_video_fullscreen; } void null_set_fullscreen( xine_vo_driver_t* self, int screen ){ - ((null_driver_t*)self)->m_video_fullscreen = screen; + ((null_driver_t*)self->driver)->m_video_fullscreen = screen; } int null_is_scaling( xine_vo_driver_t* self ){ - return ((null_driver_t*)self)->m_is_scaling; + return ((null_driver_t*)self->driver)->m_is_scaling; } -void null_set_videoGamma( xine_vo_driver_t* self , int value ) { - ((null_driver_t*) self) ->yuv2rgb_gamma = value; - ((null_driver_t*) self) ->yuv2rgb_factory->set_gamma( ((null_driver_t*) self) ->yuv2rgb_factory, value ); +void null_set_videoGamma( xine_vo_driver_t* self , int value ) { + ((null_driver_t*) self->driver) ->yuv2rgb_gamma = value; + ((null_driver_t*) self->driver) ->yuv2rgb_factory->set_gamma( ((null_driver_t*) self) ->yuv2rgb_factory, value ); } void null_set_scaling( xine_vo_driver_t* self, int scale ) { - ((null_driver_t*)self)->m_is_scaling = scale; + ((null_driver_t*)self->driver)->m_is_scaling = scale; } void null_set_gui_width( xine_vo_driver_t* self, int width ) { - ((null_driver_t*)self)->gui_width = width; + ((null_driver_t*)self->driver)->gui_width = width; } void null_set_gui_height( xine_vo_driver_t* self, int height ) { - ((null_driver_t*)self)->gui_height = height; + ((null_driver_t*)self->driver)->gui_height = height; } void null_set_mode( xine_vo_driver_t* self, int depth, int rgb ) { - null_driver_t* this = (null_driver_t*)self; + null_driver_t* this = (null_driver_t*)self->driver; this->bytes_per_pixel = (depth + 7 ) / 8; @@ -604,5 +608,5 @@ void null_set_mode( xine_vo_driver_t* self, int depth, int rgb ) { void null_display_handler( xine_vo_driver_t* self, display_xine_frame_t t, void* user_data ) { - null_driver_t* this = (null_driver_t*) self; + null_driver_t* this = (null_driver_t*) self->driver; this->caller = user_data; this->frameDis = t; |