stream: Do not yield and then release. It is unuseful here.
authorPierre d'Herbemont <pdherbemont@videolan.org>
Sat, 29 Mar 2008 00:02:46 +0000 (01:02 +0100)
committerPierre d'Herbemont <pdherbemont@videolan.org>
Sat, 29 Mar 2008 01:23:00 +0000 (02:23 +0100)
Because there is no proper convention, there is no reason why the object couldn't be detached. We would need to vlc_object_find the input to be sure there is no problem. Let's assume for now that the input creates the access and is responsible for it.

src/input/stream.c

index 16ec887..35b6454 100644 (file)
@@ -1687,7 +1687,6 @@ static int AReadStream( stream_t *s, void *p_read, int i_read )
         i_read = p_access->pf_read( p_access, p_read, i_read );
         if( p_input )
         {
-            vlc_object_yield( p_input );
             vlc_mutex_lock( &p_input->p->counters.counters_lock );
             stats_UpdateInteger( s, p_input->p->counters.p_read_bytes, i_read,
                              &i_total );
@@ -1695,7 +1694,6 @@ static int AReadStream( stream_t *s, void *p_read, int i_read )
                            (float)i_total, NULL );
             stats_UpdateInteger( s, p_input->p->counters.p_read_packets, 1, NULL );
             vlc_mutex_unlock( &p_input->p->counters.counters_lock );
-            vlc_object_release( p_input );
         }
         return i_read;
     }