summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/nullvideo.c
Unidiff
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
@@ -4,25 +4,27 @@
4#include <stdio.h> 4#include <stdio.h>
5 5
6#include <xine/video_out.h> 6#include <xine/video_out.h>
7#include <xine/xine_internal.h> 7#include <xine/xine_internal.h>
8#include <xine/xineutils.h> 8#include <xine/xineutils.h>
9#include <xine/configfile.h> 9#include <xine/configfile.h>
10 10
11typedef struct null_driver_s null_driver_t; 11typedef struct null_driver_s null_driver_t;
12 12
13struct null_driver_s { 13struct null_driver_s {
14 vo_driver_t vo_driver; 14 vo_driver_t vo_driver;
15 uint32_t m_capabilities; 15 uint32_t m_capabilities;
16 16 int m_show_video;
17 int m_video_fullscreen;
18 int m_is_scaling;
17}; 19};
18typedef struct opie_frame_s opie_frame_t; 20typedef struct opie_frame_s opie_frame_t;
19struct opie_frame_s { 21struct opie_frame_s {
20 vo_frame_t frame; 22 vo_frame_t frame;
21 char* name; 23 char* name;
22 int version; 24 int version;
23 int m_width; 25 int m_width;
24 int m_height; 26 int m_height;
25 uint8_t *chunk[3]; 27 uint8_t *chunk[3];
26 null_driver_t *output; 28 null_driver_t *output;
27}; 29};
28 30
@@ -138,24 +140,27 @@ static void null_exit( vo_driver_t* self ){
138 null_driver_t* this = (null_driver_t*)self; 140 null_driver_t* this = (null_driver_t*)self;
139 free ( this ); 141 free ( this );
140} 142}
141static int null_redraw_needed( vo_driver_t* self ){ 143static int null_redraw_needed( vo_driver_t* self ){
142 return 0; 144 return 0;
143} 145}
144 146
145 147
146vo_driver_t* init_video_out_plugin( config_values_t* conf, 148vo_driver_t* init_video_out_plugin( config_values_t* conf,
147 void* video ){ 149 void* video ){
148 null_driver_t *vo; 150 null_driver_t *vo;
149 vo = (null_driver_t*)malloc( sizeof(null_driver_t ) ); 151 vo = (null_driver_t*)malloc( sizeof(null_driver_t ) );
152 vo->m_show_video = 0; // false
153 vo->m_video_fullscreen = 0;
154 vo->m_is_scaling = 0;
150 /* memset? */ 155 /* memset? */
151 156
152 /* install callback handlers*/ 157 /* install callback handlers*/
153 vo->vo_driver.get_capabilities = null_get_capabilities; 158 vo->vo_driver.get_capabilities = null_get_capabilities;
154 vo->vo_driver.alloc_frame = null_alloc_frame; 159 vo->vo_driver.alloc_frame = null_alloc_frame;
155 vo->vo_driver.update_frame_format = null_update_frame_format; 160 vo->vo_driver.update_frame_format = null_update_frame_format;
156 vo->vo_driver.display_frame = null_display_frame; 161 vo->vo_driver.display_frame = null_display_frame;
157 vo->vo_driver.overlay_blend = null_overlay_blend; 162 vo->vo_driver.overlay_blend = null_overlay_blend;
158 vo->vo_driver.get_property = null_get_property; 163 vo->vo_driver.get_property = null_get_property;
159 vo->vo_driver.set_property = null_set_property; 164 vo->vo_driver.set_property = null_set_property;
160 vo->vo_driver.get_property_min_max = null_get_property_min_max; 165 vo->vo_driver.get_property_min_max = null_get_property_min_max;
161 vo->vo_driver.gui_data_exchange = null_gui_data_exchange; 166 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,
172static vo_info_t vo_info_null = { 177static vo_info_t vo_info_null = {
173 5, 178 5,
174 "null plugin", 179 "null plugin",
175 NULL, 180 NULL,
176 VISUAL_TYPE_FB, 181 VISUAL_TYPE_FB,
177 5 182 5
178}; 183};
179 184
180vo_info_t *get_video_out_plugin_info(){ 185vo_info_t *get_video_out_plugin_info(){
181 vo_info_null.description = _("xine video output plugin using null device"); 186 vo_info_null.description = _("xine video output plugin using null device");
182 return &vo_info_null; 187 return &vo_info_null;
183} 188}
189
190/* this is special for this device */
191/**
192 * We know that we will be controled by the XINE LIB++
193 */
194
195/**
196 *
197 */
198int null_is_showing_video( vo_driver_t* self ){
199 null_driver_t* this = (null_driver_t*)self;
200 return this->m_show_video;
201}
202void null_set_show_video( vo_driver_t* self, int show ) {
203 ((null_driver_t*)self)->m_show_video = show;
204}
205
206int null_is_fullscreen( vo_driver_t* self ){
207 return ((null_driver_t*)self)->m_video_fullscreen;
208}
209void null_set_fullscreen( vo_driver_t* self, int screen ){
210 ((null_driver_t*)self)->m_video_fullscreen = screen;
211}
212int null_is_scaling( vo_driver_t* self ){
213 return ((null_driver_t*)self)->m_is_scaling;
214}
215void null_set_scaling( vo_driver_t* self, int scale ){
216 ((null_driver_t*)self)->m_is_scaling = scale;
217}
218