Changeset b271b9ffc4080ae42a549ad9185c8f0c8e0b85e6

Show
Ignore:
Timestamp:
06/13/07 21:49:08 (1 year ago)
Author:
Laurent Aimar <fenrir@videolan.org>
git-committer:
Laurent Aimar <fenrir@videolan.org> 1181764148 +0000
git-parent:

[a14c0186d6d7e58d274a46b10c36ff8ce641c8b6]

git-author:
Laurent Aimar <fenrir@videolan.org> 1181764148 +0000
Message:

Added --run-time option to specify how many second VLC will play an item
(Usefull to save live programs like DVB/UDP)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/input/input.c

    r70a8bb9 rb271b9f  
    148148    p_input->i_time  = 0; 
    149149    p_input->p->i_stop  = 0; 
     150    p_input->p->i_run  = 0; 
    150151    p_input->p->i_title = 0; 
    151152    p_input->p->title   = NULL; 
     
    574575static void MainLoop( input_thread_t *p_input ) 
    575576{ 
     577    int64_t i_start_mdate = mdate(); 
    576578    int64_t i_intf_update = 0; 
    577579    int i_updates = 0; 
     
    587589        if( p_input->i_state != PAUSE_S  ) 
    588590        { 
    589             if( p_input->p->i_stop <= 0 || p_input->i_time < p_input->p->i_stop ) 
    590                 i_ret=p_input->p->input.p_demux->pf_demux(p_input->p->input.p_demux); 
     591            if( ( p_input->p->i_stop > 0 && p_input->i_time >= p_input->p->i_stop ) || 
     592                ( p_input->p->i_run > 0 && i_start_mdate+p_input->p->i_run < mdate() ) ) 
     593                i_ret = 0; /* EOF */ 
    591594            else 
    592                 i_ret = 0;  /* EOF */ 
     595                i_ret = p_input->p->input.p_demux->pf_demux(p_input->p->input.p_demux); 
    593596 
    594597            if( i_ret > 0 ) 
     
    660663                                           &val ); 
    661664                    } 
     665 
     666                    /* */ 
     667                    i_start_mdate = mdate(); 
    662668                } 
    663669            } 
     
    916922        /* Start time*/ 
    917923        /* Set start time */ 
    918         p_input->p->i_start = (int64_t)var_GetInteger( p_input, "start-time" ) * 
    919                            I64C(1000000); 
    920         p_input->p->i_stop  = (int64_t)var_GetInteger( p_input, "stop-time" ) * 
    921                            I64C(1000000); 
     924        p_input->p->i_start = I64C(1000000) * var_GetInteger( p_input, "start-time" ); 
     925        p_input->p->i_stop  = I64C(1000000) * var_GetInteger( p_input, "stop-time" ); 
     926        p_input->p->i_run   = I64C(1000000) * var_GetInteger( p_input, "run-time" ); 
     927        if( p_input->p->i_run < 0 ) 
     928        { 
     929            msg_Warn( p_input, "invalid run-time ignored" ); 
     930            p_input->p->i_run = 0; 
     931        } 
    922932 
    923933        if( p_input->p->i_start > 0 ) 
  • src/input/input_internal.h

    re444ba7 rb271b9f  
    7676    int64_t     i_start;    /* :start-time,0 by default */ 
    7777    int64_t     i_stop;     /* :stop-time, 0 if none */ 
     78    int64_t     i_run;      /* :run-time, 0 if none */ 
    7879 
    7980    /* Title infos FIXME multi-input (not easy) ? */ 
  • src/input/var.c

    r0e39834 rb271b9f  
    433433        var_Create( p_input, "start-time", VLC_VAR_INTEGER|VLC_VAR_DOINHERIT ); 
    434434        var_Create( p_input, "stop-time", VLC_VAR_INTEGER|VLC_VAR_DOINHERIT ); 
     435        var_Create( p_input, "run-time", VLC_VAR_INTEGER|VLC_VAR_DOINHERIT ); 
    435436 
    436437        var_Create( p_input, "input-slave", 
  • src/libvlc-module.c

    r5940677 rb271b9f  
    531531#define STOP_TIME_LONGTEXT N_( \ 
    532532    "The stream will stop at this position (in seconds)." ) 
     533 
     534#define RUN_TIME_TEXT N_("Run time") 
     535#define RUN_TIME_LONGTEXT N_( \ 
     536    "The stream will run this duration (in seconds)." ) 
    533537 
    534538#define INPUT_LIST_TEXT N_("Input list") 
     
    14551459    add_integer( "stop-time", 0, NULL, 
    14561460                 STOP_TIME_TEXT, STOP_TIME_LONGTEXT, VLC_TRUE ); 
     1461    add_integer( "run-time", 0, NULL, 
     1462                 RUN_TIME_TEXT, RUN_TIME_LONGTEXT, VLC_TRUE ); 
    14571463    add_string( "input-list", NULL, NULL, 
    14581464                 INPUT_LIST_TEXT, INPUT_LIST_LONGTEXT, VLC_TRUE );