[vlc-commits] fingerprinter: remove no-op
Rémi Denis-Courmont
git at videolan.org
Wed Jul 8 20:16:31 CEST 2015
vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Wed Jul 8 20:10:32 2015 +0300| [f5ae64800ec8c3f69f2128f92dd672b8974db078] | committer: Rémi Denis-Courmont
fingerprinter: remove no-op
If the input state were initially "smaller or equal to" PAUSE_S, the
loop would just run forever and deadlock. So assume it is always larger
and remove the slack.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=f5ae64800ec8c3f69f2128f92dd672b8974db078
---
modules/misc/fingerprinter.c | 41 -----------------------------------------
1 file changed, 41 deletions(-)
diff --git a/modules/misc/fingerprinter.c b/modules/misc/fingerprinter.c
index b067530..229a1d9 100644
--- a/modules/misc/fingerprinter.c
+++ b/modules/misc/fingerprinter.c
@@ -55,13 +55,6 @@ struct fingerprinter_sys_t
vlc_array_t *queue;
} processing;
- struct
- {
- vlc_mutex_t lock;
- vlc_cond_t wait;
- int i_input_state;
- } condwait;
-
/* tracked in sys for cancelability */
input_item_t *p_item;
input_thread_t *p_input;
@@ -144,7 +137,6 @@ static void cancelDoFingerprint( void *p_arg )
fingerprinter_sys_t *p_sys = ( fingerprinter_sys_t * ) p_arg;
if ( p_sys->p_input )
{
- input_Stop( p_sys->p_input );
input_Close( p_sys->p_input );
}
/* cleanup temporary result */
@@ -154,17 +146,6 @@ static void cancelDoFingerprint( void *p_arg )
input_item_Release( p_sys->p_item );
}
-static int inputStateCallback( vlc_object_t *obj, const char *var,
- vlc_value_t old, vlc_value_t cur, void *p_data )
-{
- VLC_UNUSED(obj);VLC_UNUSED(var);VLC_UNUSED(old);
- fingerprinter_sys_t *p_sys = (fingerprinter_sys_t *) p_data;
- if ( cur.i_int != INPUT_EVENT_STATE ) return VLC_SUCCESS;
- p_sys->condwait.i_input_state = var_GetInteger( p_sys->p_input, "state" );
- vlc_cond_signal( & p_sys->condwait.wait );
- return VLC_SUCCESS;
-}
-
static void DoFingerprint( vlc_object_t *p_this, fingerprinter_sys_t *p_sys,
acoustid_fingerprint_t *fp, const char *psz_uri )
{
@@ -203,22 +184,6 @@ static void DoFingerprint( vlc_object_t *p_this, fingerprinter_sys_t *p_sys,
var_SetAddress( p_sys->p_input, "fingerprint-data", & p_sys->chroma_fingerprint );
input_Start( p_sys->p_input );
-
- /* Wait for input to start && end */
- p_sys->condwait.i_input_state = var_GetInteger( p_sys->p_input, "state" );
-
- if ( likely( var_AddCallback( p_sys->p_input, "intf-event",
- inputStateCallback, p_sys ) == VLC_SUCCESS ) )
- {
- while( p_sys->condwait.i_input_state <= PAUSE_S )
- {
- vlc_mutex_lock( &p_sys->condwait.lock );
- mutex_cleanup_push( &p_sys->condwait.lock );
- vlc_cond_wait( &p_sys->condwait.wait, &p_sys->condwait.lock );
- vlc_cleanup_run();
- }
- var_DelCallback( p_sys->p_input, "intf-event", inputStateCallback, p_sys );
- }
input_Stop( p_sys->p_input );
input_Close( p_sys->p_input );
p_sys->p_input = NULL;
@@ -255,9 +220,6 @@ static int Open(vlc_object_t *p_this)
p_sys->results.queue = vlc_array_new();
vlc_mutex_init( &p_sys->results.lock );
- vlc_mutex_init( &p_sys->condwait.lock );
- vlc_cond_init( &p_sys->condwait.wait );
-
p_fingerprinter->pf_enqueue = EnqueueRequest;
p_fingerprinter->pf_getresults = GetResult;
p_fingerprinter->pf_apply = ApplyResult;
@@ -288,9 +250,6 @@ static void Close(vlc_object_t *p_this)
vlc_cancel( p_sys->thread );
vlc_join( p_sys->thread, NULL );
- vlc_mutex_destroy( &p_sys->condwait.lock );
- vlc_cond_destroy( &p_sys->condwait.wait );
-
for ( int i = 0; i < vlc_array_count( p_sys->incoming.queue ); i++ )
fingerprint_request_Delete( vlc_array_item_at_index( p_sys->incoming.queue, i ) );
vlc_array_destroy( p_sys->incoming.queue );
More information about the vlc-commits
mailing list