|
View:
New views
1 Messages
—
Rating Filter:
Alert me
|
|
|
[PATCH] Make use of the new xine_osd_set_video_window() in input_vdrPatch subject is complete summary.
1 file changed, 24 insertions(+), 15 deletions(-) src/vdr/input_vdr.c | 39 ++++++++++++++++++++++++--------------- # HG changeset patch # User Reinhard NiÃl <rnissl@...> # Date 1244724129 -7200 # Node ID b0a000e3f4099ae71eab7d74685108bab0701037 # Parent e9675a108ff67871bdf570dd662773397ef38d7a Make use of the new xine_osd_set_video_window() in input_vdr. diff --git a/src/vdr/input_vdr.c b/src/vdr/input_vdr.c --- a/src/vdr/input_vdr.c +++ b/src/vdr/input_vdr.c @@ -164,6 +164,9 @@ struct vdr_input_plugin_s pthread_mutex_t vpts_offset_queue_lock; pthread_cond_t vpts_offset_queue_changed_cond; int vpts_offset_queue_changes; + + int video_window_active; + vdr_set_video_window_data_t video_window_event_data; }; @@ -453,6 +456,13 @@ static off_t vdr_execute_rpc_command(vdr if (0 != this->osd[ data->window ].window) { +#ifdef XINE_OSD_CAP_VIDEO_WINDOW + xine_osd_set_video_window(this->osd[ data->window ].window + , this->video_window_active ? this->video_window_event_data.x : 0 + , this->video_window_active ? this->video_window_event_data.y : 0 + , this->video_window_active ? this->video_window_event_data.w : 0 + , this->video_window_active ? this->video_window_event_data.h : 0); +#endif if (this->osd_unscaled_blending) xine_osd_show_unscaled(this->osd[ data->window ].window, 0); else @@ -471,12 +481,7 @@ static off_t vdr_execute_rpc_command(vdr return -1; if (0 != this->osd[ data->window ].window) - { - if (this->osd_unscaled_blending) - xine_osd_show_unscaled(this->osd[ data->window ].window, 0); - else - xine_osd_show(this->osd[ data->window ].window, 0); - } + xine_osd_hide(this->osd[ data->window ].window, 0); } break; @@ -758,18 +763,22 @@ static off_t vdr_execute_rpc_command(vdr */ { xine_event_t event; - vdr_set_video_window_data_t event_data; + + this->video_window_active = (data->x != 0 + || data->y != 0 + || data->w != data->w_ref + || data->h != data->h_ref); - event_data.x = data->x; - event_data.y = data->y; - event_data.w = data->w; - event_data.h = data->h; - event_data.w_ref = data->w_ref; - event_data.h_ref = data->h_ref; + this->video_window_event_data.x = data->x; + this->video_window_event_data.y = data->y; + this->video_window_event_data.w = data->w; + this->video_window_event_data.h = data->h; + this->video_window_event_data.w_ref = data->w_ref; + this->video_window_event_data.h_ref = data->h_ref; event.type = XINE_EVENT_VDR_SETVIDEOWINDOW; - event.data = &event_data; - event.data_length = sizeof (event_data); + event.data = &this->video_window_event_data; + event.data_length = sizeof (this->video_window_event_data); xine_event_send(this->stream, &event); } ------------------------------------------------------------------------------ Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment. http://p.sf.net/sfu/businessobjects _______________________________________________ xine-devel mailing list xine-devel@... https://lists.sourceforge.net/lists/listinfo/xine-devel |
| Free embeddable forum powered by Nabble | Forum Help |