Changeset 7127a2d5a455b812b914091e9c46a887faafa3c6

Show
Ignore:
Timestamp:
10/06/05 21:15:11 (3 years ago)
Author:
Laurent Aimar <fenrir@videolan.org>
git-committer:
Laurent Aimar <fenrir@videolan.org> 1128626111 +0000
git-parent:

[c490aa52cf056603cc37a98660d0f6567d739b3b]

git-author:
Laurent Aimar <fenrir@videolan.org> 1128626111 +0000
Message:
  • record: correct i_update field.
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • modules/access_filter/record.c

    ra92603f r7127a2d  
    8888    vout_thread_t *p_vout; 
    8989    int            i_vout_chan; 
     90 
     91    int i_update_sav; 
    9092}; 
     93 
     94static inline void PreUpdateFlags( access_t *p_access ) 
     95{ 
     96    access_t *p_src = p_access->p_source; 
     97    /* backport flags turned off 0 */ 
     98    p_src->info.i_update &= p_access->p_sys->i_update_sav ^ (~p_access->info.i_update); 
     99} 
     100 
     101static inline void PostUpdateFlags( access_t *p_access ) 
     102{ 
     103    access_t *p_src = p_access->p_source; 
     104    /* */ 
     105    p_access->info = p_src->info; 
     106    p_access->p_sys->i_update_sav = p_access->info.i_update; 
     107} 
     108 
    91109 
    92110/***************************************************************************** 
     
    120138    p_sys->p_vout = NULL; 
    121139    p_sys->i_vout_chan = -1; 
     140    p_sys->i_update_sav = p_access->info.i_update; 
    122141 
    123142    if( !strncasecmp( p_src->psz_access, "dvb", 3 ) || 
     
    170189 
    171190    /* */ 
     191    PreUpdateFlags( p_access ); 
     192 
     193    /* */ 
    172194    p_block = p_src->pf_block( p_src ); 
    173195    if( p_block && p_block->i_buffer ) 
     
    175197 
    176198    /* */ 
    177     p_access->info = p_src->info
     199    PostUpdateFlags( p_access )
    178200 
    179201    return p_block; 
     
    188210    int i_ret; 
    189211 
     212    /* */ 
     213    PreUpdateFlags( p_access ); 
     214 
     215    /* */ 
    190216    i_ret = p_src->pf_read( p_src, p_buffer, i_len ); 
    191217 
     
    194220 
    195221    /* */ 
    196     p_access->info = p_src->info
     222    PostUpdateFlags( p_access )
    197223 
    198224    return i_ret; 
     
    207233    int i_ret; 
    208234 
     235    /* */ 
     236    PreUpdateFlags( p_access ); 
     237 
     238    /* */ 
    209239    i_ret = p_src->pf_control( p_src, i_query, args ); 
    210240 
    211241    /* */ 
    212     p_access->info = p_src->info
     242    PostUpdateFlags( p_access )
    213243 
    214244    return i_ret; 
     
    223253    int i_ret; 
    224254 
     255    /* */ 
     256    PreUpdateFlags( p_access ); 
     257 
     258    /* */ 
    225259    i_ret = p_src->pf_seek( p_src, i_pos ); 
    226260 
    227261    /* */ 
    228     p_access->info = p_src->info
     262    PostUpdateFlags( p_access )
    229263 
    230264    return i_ret;