summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/xine-engine/video_overlay.c13
-rw-r--r--src/xine-engine/video_overlay.h3
2 files changed, 14 insertions, 2 deletions
diff --git a/src/xine-engine/video_overlay.c b/src/xine-engine/video_overlay.c
index e6001b746..a69237139 100644
--- a/src/xine-engine/video_overlay.c
+++ b/src/xine-engine/video_overlay.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: video_overlay.c,v 1.9 2002/01/05 18:14:27 jcdutton Exp $
+ * $Id: video_overlay.c,v 1.10 2002/01/05 19:09:55 jcdutton Exp $
*
*/
@@ -357,6 +357,17 @@ static void video_overlay_event( video_overlay_t *this, int vpts ) {
}
break;
+ case EVENT_FREE_HANDLE:
+#ifdef LOG_DEBUG
+ printf ("video_overlay: HIDE SPU NOW\n");
+#endif
+ free(this->video_overlay_events[this_event].event->object.overlay);
+ this->video_overlay_events[this_event].event->object.overlay = NULL;
+ remove_showing_handle(this,handle);
+ remove_events_handle(this,handle);
+ internal_video_overlay_free_handle( this, handle );
+ break;
+
/* implementation for HIDE_SPU and HIDE_MENU is the same.
i will keep them separated in case we need something special...
*/
diff --git a/src/xine-engine/video_overlay.h b/src/xine-engine/video_overlay.h
index ded3b30db..5752642c9 100644
--- a/src/xine-engine/video_overlay.h
+++ b/src/xine-engine/video_overlay.h
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: video_overlay.h,v 1.3 2001/12/08 18:43:44 hrm Exp $
+ * $Id: video_overlay.h,v 1.4 2002/01/05 19:09:55 jcdutton Exp $
*
*/
@@ -44,6 +44,7 @@
#define EVENT_MENU_BUTTON 5
#define EVENT_DELETE_RESOURCE 6 /* Maybe release handle will do this */
#define EVENT_SHOW_OSD 7 /* Not yet implemented */
+#define EVENT_FREE_HANDLE 8 /* Frees a handle, previous allocated via get_handle */
typedef struct video_overlay_object_s {
int32_t handle; /* Used to match Show and Hide events. */