From b2efc40a9581d828f969a86b098eed7d376cecad Mon Sep 17 00:00:00 2001 From: Laurent Aimar Date: Tue, 23 Dec 2008 12:07:51 +0100 Subject: [PATCH] Added INPUT_EVENT_DEAD event. --- include/vlc_input.h | 4 ++++ src/input/event.c | 7 +++++++ src/input/event.h | 1 + src/input/input.c | 6 ++++-- 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/include/vlc_input.h b/include/vlc_input.h index 1ddf852b44..143481bbca 100644 --- a/include/vlc_input.h +++ b/include/vlc_input.h @@ -520,8 +520,12 @@ typedef enum input_event_type_e { /* "state" has changed */ INPUT_EVENT_STATE, + /* b_dead is true */ + INPUT_EVENT_DEAD, + /* "rate" has changed */ INPUT_EVENT_RATE, + /* At least one of "position" or "time" or "length" has changed */ INPUT_EVENT_TIMES, diff --git a/src/input/event.c b/src/input/event.c index d389319688..8c10dd5c72 100644 --- a/src/input/event.c +++ b/src/input/event.c @@ -39,6 +39,13 @@ static void Trigger( input_thread_t *p_input, int i_type ); /***************************************************************************** * Event for input.c *****************************************************************************/ +void input_SendEventDead( input_thread_t *p_input ) +{ + p_input->b_dead = true; + + Trigger( p_input, INPUT_EVENT_DEAD ); +} + void input_SendEventTimes( input_thread_t *p_input, double f_position, mtime_t i_time, mtime_t i_length ) { diff --git a/src/input/event.h b/src/input/event.h index a86a75fab9..a6b8fccdd3 100644 --- a/src/input/event.h +++ b/src/input/event.h @@ -33,6 +33,7 @@ /***************************************************************************** * Event for input.c *****************************************************************************/ +void input_SendEventDead( input_thread_t *p_input ); void input_SendEventTimes( input_thread_t *p_input, double f_position, mtime_t i_time, mtime_t i_length ); void input_SendEventStatistics( input_thread_t *p_input ); void input_SendEventRate( input_thread_t *p_input, int i_rate ); diff --git a/src/input/input.c b/src/input/input.c index 64d0cf03a7..af6ee7ada9 100644 --- a/src/input/input.c +++ b/src/input/input.c @@ -520,7 +520,9 @@ static void *Run( vlc_object_t *p_this ) End( p_input ); exit: - p_input->b_dead = true; + /* Tell we're dead */ + input_SendEventDead( p_input ); + vlc_restorecancel( canc ); return NULL; } @@ -1398,7 +1400,7 @@ static void End( input_thread_t * p_input ) } /* Tell we're dead */ - p_input->b_dead = true; + input_SendEventDead( p_input ); } /***************************************************************************** -- 2.39.2