Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • videolan/vlc
  • chouquette/vlc
  • bakiewicz.marek122/vlc
  • devnexen/vlc
  • rohanrajpal/vlc
  • blurrrb/vlc
  • gsoc/gsoc2019/darkapex/vlc
  • b1ue/vlc
  • fkuehne/vlc
  • magsoft/vlc
  • chub/vlc
  • cramiro9/vlc
  • robUx4/vlc
  • rom1v/vlc
  • akshayaky/vlc
  • tmk907/vlc
  • akymaster/vlc
  • govind.sharma/vlc
  • psilokos/vlc
  • xjbeta/vlc
  • jahan/vlc
  • 1480c1/vlc
  • amanchande/vlc
  • aaqib/vlc
  • rist/vlc
  • apol/vlc
  • mindfreeze/vlc
  • alexandre-janniaux/vlc
  • sandsmark/vlc
  • jagannatharjun/vlc
  • gsoc/gsoc2020/matiaslgonzalez/vlc
  • gsoc/gsoc2020/jagannatharjun/vlc
  • mstorsjo/vlc
  • gsoc/gsoc2020/vedenta/vlc
  • gsoc/gsoc2020/arnav-ishaan/vlc
  • gsoc/gsoc2020/andreduong/vlc
  • fuzun/vlc
  • gsoc/gsoc2020/vatsin/vlc
  • gsoc/gsoc2020/sagid/vlc
  • yaron/vlc
  • Phoenix/vlc
  • Garf/vlc
  • ePiratWorkarounds/vlc
  • tguillem/vlc
  • jnqnfe/vlc
  • mdc/vlc
  • Vedaa/vlc
  • rasa/vlc
  • quink/vlc
  • yealo/vlc
  • aleksey_ak/vlc
  • ePirat/vlc
  • ilya.yanok/vlc
  • asenat/vlc
  • m/vlc
  • bunjee/vlc
  • BLumia/vlc
  • sagudev/vlc
  • hamedmonji30/vlc
  • nullgemm/vlc
  • DivyamAhuja/vlc
  • thesamesam/vlc
  • dag7/vlc
  • snehil101/vlc
  • haasn/vlc
  • jbk/vlc
  • ValZapod/vlc
  • mfkl/vlc
  • WangChuan/vlc
  • core1024/vlc
  • GhostVaibhav/vlc
  • dfuhrmann/vlc
  • davide.prade/vlc
  • tmatth/vlc
  • Courmisch/vlc
  • zouya/vlc
  • hpi/vlc
  • EwoutH/vlc
  • aleung27/vlc
  • hengwu0/vlc
  • saladin/vlc
  • ashuio/vlc
  • richselwood/vlc
  • verma16Ayush/vlc
  • chemicalflash/vlc
  • PoignardAzur/vlc
  • huangjieNT/vlc
  • Blake-Haydon/vlc
  • AnuthaDev/vlc
  • gsoc/gsoc2021/mpd/vlc
  • nicolas_lequec/vlc
  • sambassaly/vlc
  • thresh/vlc
  • bonniegong/vlc
  • myaashish/vlc
  • stavros.vagionitis/vlc
  • ileoo/vlc
  • louis-santucci/vlc
  • cchristiansen/vlc
  • sabyasachi07/vlc
  • AbduAmeen/vlc
  • ashishb0410/vlc
  • urbanhusky/vlc
  • davidepietrasanta/vlc
  • riksleutelstad/vlc
  • jeremyVignelles/vlc
  • komh/vlc
  • iamjithinjohn/vlc
  • JohannesKauffmann/vlc2
  • kunglao/vlc
  • natzberg/vlc
  • jill/vlc
  • cwendling/vlc
  • adufou/vlc
  • ErwanAirone/vlc
  • HasinduDilshan10/vlc
  • vagrantc/vlc
  • rafiv/macos-bigsur-icon
  • Aymeriic/vlc
  • saranshg20/vlc
  • metzlove24/vlc
  • linkfanel/vlc
  • Ds886/vlc
  • metehan-arslan/vlc
  • Skantes/vlc
  • kgsandundananjaya96/vlc
  • mitchcapper/vlc
  • advaitgupta/vlc
  • StefanBruens/vlc
  • ratajs/vlc
  • T.M.F.B.3761/vlc
  • m222059/vlc
  • casemerrick/vlc
  • joshuaword2alt/vlc
  • sjwaddy/vlc
  • dima/vlc
  • Ybalrid/vlc
  • umxprime/vlc
  • eschmidt/vlc
  • vannieuwenhuysenmichelle/vlc
  • badcf00d/vlc
  • wesinator/vlc
  • louis/vlc
  • xqq/vlc
  • EmperorYP7/vlc
  • NicoLiam/vlc
  • loveleen/vlc
  • rofferom/vlc
  • rbultje/vlc
  • TheUnamed/vlc
  • pratiksharma341/vlc
  • Saurab17/vlc
  • purist.coder/vlc
  • Shuicheng/vlc
  • mdrrubel292/vlc
  • silverbleu00/vlc
  • metif12/vlc
  • asher-m/vlc
  • jeffk/vlc
  • Brandonbr1/vlc
  • beautyyuyanli/vlc
  • rego21/vlc
  • muyangren907/vlc
  • collectionbylawrencejason/vlc
  • evelez/vlc
  • GSMgeeth/vlc
  • Oneric/vlc
  • TJ5/vlc
  • XuanTung95/vlc
  • darrenjenny21/vlc
  • Trenly/vlc
  • RockyTDR/vlc
  • mjakubowski/vlc
  • caprica/vlc
  • ForteFrankie/vlc
  • seannamiller19/vlc
  • junlon2006/vlc
  • kiwiren6666/vlc
  • iuseiphonexs/vlc
  • fenngtun/vlc
  • Rajdutt999/vlc
  • typx/vlc
  • leon.vitanos/vlc
  • robertogarci0938/vlc
  • gsoc/gsoc2022/luc65r/vlc-mpd
  • skeller/vlc
  • MCJack123/vlc
  • luc65r/vlc-mpd
  • popov895/vlc
  • claucambra/vlc
  • brad/vlc
  • matthewmurua88/vlc
  • Tomas8874/vlc
  • philenotfound/vlc
  • makita-do3/vlc
  • LZXCorp/vlc
  • mar0x/vlc
  • senojetkennedy0102/vlc
  • shaneb243/vlc
  • ahmadbader/vlc
  • rajduttcse26/vlc-audio-filters
  • Juniorzito8415/vlc
  • achernyakov/vlc
  • lucasjetgroup/vlc
  • pupdoggy666/vlc
  • gmde9363/vlc
  • alexnwayne/vlc
  • bahareebrahimi781/vlc
  • hamad633666/vlc
  • umghof3112/vlc
  • joe0199771874/vlc
  • Octocats66666666/vlc
  • jjm_223/vlc
  • btech10110.19/vlc
  • sunnykfc028/vlc-audio-filters
  • loic/vlc
  • nguyenminhducmx1/vlc
  • JanekKrueger/vlc
  • bstubbington2/vlc
  • rcombs/vlc
  • Ordissimo/vlc
  • king7532/vlc
  • noobsauce101/vlc
  • schong0525/vlc
  • myQwil/vlc
  • apisbg91/vlc
  • geeboy0101017/vlc
  • kim.faughey/vlc
  • nurupo/vlc
  • yyusea/vlc
  • 0711235879.khco/vlc
  • ialo/vlc
  • iloveyeye2/vlc
  • gdtdftdqtd/vlc
  • leandroconsiglio/vlc
  • AndyHTML2012/vlc
  • ncz/vlc
  • lucenticus/vlc
  • knr1931/vlc
  • kjoonlee/vlc
  • chandrakant100/vlc-qt
  • johge42/vlc
  • polter/vlc
  • hexchain/vlc
  • Tushwrld/vlc
  • mztea928/vlc
  • jbelloncastro/vlc
  • alvinhochun/vlc
  • ghostpiratecrow/vlc
  • ujjwaltwitx/vlc
  • alexsonarin06/vlc
  • adrianbon76/vlc
  • altsod/vlc
  • damien.lucas44/vlc
  • dmytrivtaisa/vlc
  • utk202/vlc
  • aaxhrj/vlc
  • thomas.hermes/vlc
  • structurenewworldorder/vlc
  • slomo/vlc
  • wantlamy/vlc
  • musc.o3cminc/vlc
  • thebarshablog/vlc
  • kerrick/vlc
  • kratos142518/vlc
  • leogps/vlc
  • vacantron/vlc
  • luna_koly/vlc
  • Ratio2/vlc
  • anuoshemohammad/vlc
  • apsun/vlc
  • aaa1115910/vlc
  • alimotmoyo/vlc
  • Ambossmann/vlc
  • Sam-LearnsToCode/vlc
  • Chilledheart/vlc
  • Labnann/vlc
  • ktcoooot1/vlc
  • mohit-marathe/vlc
  • johnddx/vlc
  • manstabuk/vlc
  • Omar-ahmed314/vlc
  • vineethkm/vlc
  • 9Enemi86/vlc
  • radoslav.m.panteleev/vlc
  • ashishami2002/vlc
  • Corbax/vlc
  • firnasahmed/vlc
  • pelayarmalam4/vlc
  • c0ff330k/vlc
  • shikhindahikar/vlc
  • l342723951/vlc
  • christianschwandner/vlc
  • douniwan5788/vlc
  • 7damian7/vlc
  • ferdnyc/vlc
  • f.ales1/vlc
  • pandagby/vlc
  • BaaBaa/vlc
  • jewe37/vlc
  • w00drow/vlc
  • russelltg/vlc
  • ironicallygod/vlc
  • soumyaDghosh/vlc
  • linzihao1999/vlc
  • deyayush6/vlc
  • mibi88/vlc
  • newabdallah10/vlc
  • jhorbincolombia/vlc
  • rimvihaqueshupto/vlc
  • andrewkhon98/vlc
  • fab78/vlc
  • lapaz17/vlc
  • amanna13/vlc
  • mdakram28/vlc
  • 07jw1980/vlc
  • sohamgupta/vlc
  • Eson-Jia1/vlc
  • Sumou/vlc
  • vikram-kangotra/vlc
  • chalice191/vlc
  • olivercalder/vlc
  • aaasg4001/vlc
  • zipdox/vlc
  • kwizart/vlc
  • Dragon-S/vlc
  • jdemeule/vlc
  • gabriel_lt/vlc
  • locutusofborg/vlc
  • sammirata/vlc-librist
  • another/vlc
  • Benjamin_Loison/vlc
  • ahmedmoselhi/vlc
  • petergaal/vlc
  • huynhsontung/vlc
  • dariusmihut/vlc
  • tvermaashutosh/vlc
  • buti/vlc
  • Niram7777/vlc
  • rohan-here/vlc
  • balaji-sivasakthi/vlc
  • rlindner81/vlc
  • Kakadus/vlc
  • djain/vlc
  • ABBurmeister/vlc
  • craighuggins/vlc
  • orbea/vlc
  • maxos/vlc
  • aakarshmj/vlc
  • kblaschke/vlc
  • ankitm/vlc
  • advait-0/vlc
  • mohak2003/vlc
  • yselkowitz/vlc
  • AZM999/vlc-azm
  • andrey.turkin/vlc
  • Disha-Baghel/vlc
  • nowrep/vlc
  • Apeng/vlc
  • Choucroute_melba/vlc
  • autra/vlc
  • eclipseo/vlc
  • fhuber/vlc
  • olafhering/vlc
  • sdasda7777/vlc
  • 1div0/vlc
  • skosnits/vlc-extended-playlist-support
  • dnicolson/vlc
  • Timshel/vlc
  • octopols/vlc
  • MangalK/vlc
  • nima64/vlc
  • misawai/vlc
  • Alexander-Wilms/vlc
  • Maxime2/vlc-fork-for-visualizer
  • ww/vlc
  • jeske/vlc
  • sgross-emlix/vlc
  • morenonatural/vlc
  • freakingLovesVLC/vlc
  • borisgolovnev/vlc
  • mpromonet/vlc
  • diogo.simao-marques/vlc
  • masstock/vlc
  • pratikpatel8982/vlc
  • hugok79/vlc
  • longervision/vlc
  • abhiudaysurya/vlc
  • rishabhgarg/vlc
  • tumic/vlc
  • cart/vlc
  • shubham442/vlc
  • Aditya692005/vlc
  • sammirata/vlc4
  • syrykh/vlc
  • Vvorcun/macos-new-icon
  • AyaanshC/vlc
  • nasso/vlc
  • Quark/vlc
  • sebastinas/vlc
  • rhstone/vlc
  • talregev/vlc
  • Managor/vlc
  • abdsaber000/vlc
  • falbrechtskirchinger/vlc
405 results
Show changes
Commits on Source (4)
......@@ -703,9 +703,9 @@ static vlc_tick_t EsOutGetWakeup( es_out_t *out )
/* We do not have a wake up date if the input cannot have its speed
* controlled or sout is imposing its own or while buffering
*
* FIXME for !input_priv(p_input)->b_can_pace_control a wake-up time is still needed
* FIXME for !input_CanPaceControl() a wake-up time is still needed
* to avoid too heavy buffering */
if( !input_priv(p_input)->b_can_pace_control ||
if( !input_CanPaceControl(p_input) ||
input_priv(p_input)->b_out_pace_control ||
p_sys->b_buffering )
return 0;
......@@ -1278,14 +1278,13 @@ static void EsOutProgramHandleClockSource( es_out_t *out, es_out_pgrm_t *p_pgrm
{
es_out_sys_t *p_sys = container_of(out, es_out_sys_t, out);
input_thread_t *p_input = p_sys->p_input;
input_thread_private_t *priv = input_priv(p_input);
/* XXX: The clock source selection depends on priv->b_can_pace_control but
/* XXX: The clock source selection depends on input_CanPaceControl() but
* this variable is only initialized from the input_thread_t after the
* demux is opened. Programs and ES tracks can be created from the demux
* open callback or midstream (from the demux callback). Therefore, we
* can't handle the clock source selection after the program is created
* since priv->b_can_pace_control might not be initialized. To fix this
* since input_CanPaceControl() might not be initialized. To fix this
* issue, handle clock source selection when the first PCR is sent (from
* ES_OUT_SET_PCR). */
assert( p_sys->b_active );
......@@ -1293,7 +1292,7 @@ static void EsOutProgramHandleClockSource( es_out_t *out, es_out_pgrm_t *p_pgrm
switch( p_sys->clock_source )
{
case VLC_CLOCK_MASTER_AUTO:
if (priv->b_can_pace_control)
if (input_CanPaceControl(p_input))
{
p_pgrm->active_clock_source = VLC_CLOCK_MASTER_AUDIO;
break;
......@@ -3300,7 +3299,7 @@ static int EsOutVaControlLocked( es_out_t *out, input_source_t *source,
bool b_extra_buffering_allowed = !b_low_delay && EsOutIsExtraBufferingAllowed( out );
vlc_tick_t i_late = input_clock_Update(
p_pgrm->p_input_clock, VLC_OBJECT(p_sys->p_input),
priv->b_can_pace_control || p_sys->b_buffering,
input_CanPaceControl(p_sys->p_input) || p_sys->b_buffering,
b_extra_buffering_allowed,
i_pcr, vlc_tick_now() );
......
......@@ -546,7 +546,7 @@ static int ControlLockedGetWakeup( es_out_t *p_out, vlc_tick_t *pi_wakeup )
if( p_sys->b_delayed )
{
assert( !input_priv(p_sys->p_input)->b_can_pace_control );
assert( !input_CanPaceControl( p_sys->p_input ) );
*pi_wakeup = 0;
}
else
......@@ -579,7 +579,7 @@ static int ControlLockedSetPauseState( es_out_t *p_out, bool b_source_paused, bo
else
{
i_ret = VLC_EGENERIC;
if( !input_priv(p_sys->p_input)->b_can_pace_control )
if( !input_CanPaceControl( p_sys->p_input ) )
{
if( !p_sys->b_delayed )
TsStart( p_out );
......@@ -614,7 +614,7 @@ static int ControlLockedSetRate( es_out_t *p_out, float src_rate, float rate )
else
{
i_ret = VLC_EGENERIC;
if( !input_priv(p_sys->p_input)->b_can_pace_control )
if( !input_CanPaceControl( p_sys->p_input ) )
{
if( !p_sys->b_delayed )
TsStart( p_out );
......
......@@ -304,7 +304,6 @@ static input_thread_t *Create( vlc_object_t *p_parent,
priv->events_data = events_data;
priv->b_preparsing = option == INPUT_CREATE_OPTION_PREPARSING;
priv->b_thumbnailing = option == INPUT_CREATE_OPTION_THUMBNAILING;
priv->b_can_pace_control = true;
priv->i_start = 0;
priv->i_stop = 0;
priv->i_title_offset = input_priv(p_input)->i_seekpoint_offset = 0;
......@@ -466,7 +465,7 @@ static void *Run( void *data )
if( !Init( p_input ) )
{
if( priv->b_can_pace_control && priv->b_out_pace_control )
if( priv->master->b_can_pace_control && priv->b_out_pace_control )
{
/* We don't want a high input priority here or we'll
* end-up sucking up all the CPU time */
......@@ -704,7 +703,7 @@ static void MainLoop( input_thread_t *p_input, bool b_interactive )
}
/* Pause after eof only if the input is pausable.
* This way we won't trigger timeshifting for nothing */
else if( b_pause_after_eof && input_priv(p_input)->b_can_pause )
else if( b_pause_after_eof && input_priv(p_input)->master->b_can_pause )
{
if( b_paused_at_eof )
break;
......@@ -826,6 +825,55 @@ static int InitSout( input_thread_t * p_input )
}
#endif
static void InitProperties( input_thread_t *input )
{
input_thread_private_t *priv = input_priv(input);
input_source_t *master = priv->master;
assert(master);
int capabilites = 0;
bool b_can_seek;
if( demux_Control( master->p_demux, DEMUX_CAN_SEEK, &b_can_seek ) )
b_can_seek = false;
if( b_can_seek )
capabilites |= VLC_INPUT_CAPABILITIES_SEEKABLE;
if( master->b_can_pause || !master->b_can_pace_control )
capabilites |= VLC_INPUT_CAPABILITIES_PAUSEABLE;
if( !master->b_can_pace_control || master->b_can_rate_control )
capabilites |= VLC_INPUT_CAPABILITIES_CHANGE_RATE;
if( !master->b_rescale_ts && !master->b_can_pace_control && master->b_can_rate_control )
capabilites |= VLC_INPUT_CAPABILITIES_REWINDABLE;
#ifdef ENABLE_SOUT
capabilites |= VLC_INPUT_CAPABILITIES_RECORDABLE;
#else
if( master->b_can_stream_record )
capabilites |= VLC_INPUT_CAPABILITIES_RECORDABLE;
#endif
input_SendEventCapabilities( input, capabilites );
int i_attachment;
input_attachment_t **attachment;
if( !demux_Control( master->p_demux, DEMUX_GET_ATTACHMENTS,
&attachment, &i_attachment ) )
{
vlc_mutex_lock( &priv->p_item->lock );
AppendAttachment( input, i_attachment, attachment );
vlc_mutex_unlock( &priv->p_item->lock );
}
int input_type;
if( !demux_Control( master->p_demux, DEMUX_GET_TYPE, &input_type ) )
{
vlc_mutex_lock( &priv->p_item->lock );
priv->p_item->i_type = input_type;
vlc_mutex_unlock( &priv->p_item->lock );
}
}
static void InitTitle( input_thread_t * p_input, bool had_titles )
{
input_thread_private_t *priv = input_priv(p_input);
......@@ -837,11 +885,6 @@ static void InitTitle( input_thread_t * p_input, bool had_titles )
vlc_mutex_lock( &priv->p_item->lock );
priv->i_title_offset = p_master->i_title_offset;
priv->i_seekpoint_offset = p_master->i_seekpoint_offset;
/* Global flag */
priv->b_can_pace_control = p_master->b_can_pace_control;
priv->b_can_pause = p_master->b_can_pause;
priv->b_can_rate_control = p_master->b_can_rate_control;
vlc_mutex_unlock( &priv->p_item->lock );
/* Send event only if the count is valid or if titles are gone */
......@@ -1302,6 +1345,8 @@ static int Init( input_thread_t * p_input )
goto error;
}
InitProperties( p_input );
InitTitle( p_input, false );
/* Load master infos */
......@@ -1646,7 +1691,7 @@ static void ControlPause( input_thread_t *p_input, vlc_tick_t i_control_date )
{
int i_state = PAUSE_S;
if( input_priv(p_input)->b_can_pause )
if( input_priv(p_input)->master->b_can_pause )
{
demux_t *p_demux = input_priv(p_input)->master->p_demux;
......@@ -1658,7 +1703,8 @@ static void ControlPause( input_thread_t *p_input, vlc_tick_t i_control_date )
}
/* */
if( es_out_SetPauseState( input_priv(p_input)->p_es_out, input_priv(p_input)->b_can_pause,
if( es_out_SetPauseState( input_priv(p_input)->p_es_out,
input_priv(p_input)->master->b_can_pause,
true, i_control_date ) )
{
msg_Warn( p_input, "cannot set pause state at es_out level" );
......@@ -1671,7 +1717,7 @@ static void ControlPause( input_thread_t *p_input, vlc_tick_t i_control_date )
static void ControlUnpause( input_thread_t *p_input, vlc_tick_t i_control_date )
{
if( input_priv(p_input)->b_can_pause )
if( input_priv(p_input)->master->b_can_pause )
{
demux_t *p_demux = input_priv(p_input)->master->p_demux;
......@@ -2073,14 +2119,14 @@ static bool Control( input_thread_t *p_input,
}
if( rate != 1.f &&
( ( !priv->b_can_rate_control && !priv->master->b_rescale_ts ) ||
( ( !priv->master->b_can_rate_control && !priv->master->b_rescale_ts ) ||
( priv->p_sout && !priv->b_out_pace_control ) ) )
{
msg_Dbg( p_input, "cannot change rate" );
rate = 1.f;
}
if( rate != priv->rate &&
!priv->b_can_pace_control && priv->b_can_rate_control )
!priv->master->b_can_pace_control && priv->master->b_can_rate_control )
{
if( !priv->master->b_rescale_ts )
es_out_Control( priv->p_es_out, ES_OUT_RESET_PCR );
......@@ -2101,7 +2147,8 @@ static bool Control( input_thread_t *p_input,
if( priv->master->b_rescale_ts )
{
const float rate_source = (priv->b_can_pace_control || priv->b_can_rate_control ) ? rate : 1.f;
const float rate_source = (priv->master->b_can_pace_control ||
priv->master->b_can_rate_control ) ? rate : 1.f;
es_out_SetRate( priv->p_es_out, rate_source, rate );
}
......@@ -2733,13 +2780,6 @@ static int InputSourceInit( input_source_t *in, input_thread_t *p_input,
}
/* Get infos from (access_)demux */
int capabilites = 0;
bool b_can_seek;
if( demux_Control( in->p_demux, DEMUX_CAN_SEEK, &b_can_seek ) )
b_can_seek = false;
if( b_can_seek )
capabilites |= VLC_INPUT_CAPABILITIES_SEEKABLE;
if( demux_Control( in->p_demux, DEMUX_CAN_CONTROL_PACE,
&in->b_can_pace_control ) )
in->b_can_pace_control = false;
......@@ -2764,28 +2804,15 @@ static int InputSourceInit( input_source_t *in, input_thread_t *p_input,
in->b_rescale_ts = true;
}
demux_Control( in->p_demux, DEMUX_CAN_PAUSE, &in->b_can_pause );
if( in->b_can_pause || !in->b_can_pace_control )
capabilites |= VLC_INPUT_CAPABILITIES_PAUSEABLE;
if( !in->b_can_pace_control || in->b_can_rate_control )
capabilites |= VLC_INPUT_CAPABILITIES_CHANGE_RATE;
if( !in->b_rescale_ts && !in->b_can_pace_control && in->b_can_rate_control )
capabilites |= VLC_INPUT_CAPABILITIES_REWINDABLE;
/* Set record capabilities */
if( demux_Control( in->p_demux, DEMUX_CAN_RECORD, &in->b_can_stream_record ) )
in->b_can_stream_record = false;
#ifdef ENABLE_SOUT
if( !var_GetBool( p_input, "input-record-native" ) )
in->b_can_stream_record = false;
capabilites |= VLC_INPUT_CAPABILITIES_RECORDABLE;
#else
if( in->b_can_stream_record )
capabilites |= VLC_INPUT_CAPABILITIES_RECORDABLE;
#endif
input_SendEventCapabilities( p_input, capabilites );
demux_Control( in->p_demux, DEMUX_CAN_PAUSE, &in->b_can_pause );
/* get attachment
* FIXME improve for b_preparsing: move it after GET_META and check psz_arturl */
......@@ -2809,27 +2836,9 @@ static int InputSourceInit( input_source_t *in, input_thread_t *p_input,
in->i_pts_delay = 0;
}
int i_attachment;
input_attachment_t **attachment;
if( !demux_Control( in->p_demux, DEMUX_GET_ATTACHMENTS,
&attachment, &i_attachment ) )
{
vlc_mutex_lock( &input_priv(p_input)->p_item->lock );
AppendAttachment( p_input, i_attachment, attachment );
vlc_mutex_unlock( &input_priv(p_input)->p_item->lock );
}
if( demux_Control( in->p_demux, DEMUX_GET_FPS, &in->f_fps ) )
in->f_fps = 0.f;
int input_type;
if( !demux_Control( in->p_demux, DEMUX_GET_TYPE, &input_type ) )
{
vlc_mutex_lock( &input_priv(p_input)->p_item->lock );
input_priv(p_input)->p_item->i_type = input_type;
vlc_mutex_unlock( &input_priv(p_input)->p_item->lock );
}
if( var_GetInteger( p_input, "clock-synchro" ) != -1 )
in->b_can_pace_control = !var_GetInteger( p_input, "clock-synchro" );
......@@ -3550,3 +3559,9 @@ input_attachment_t *input_GetAttachment(input_thread_t *input, const char *name)
vlc_mutex_unlock( &priv->p_item->lock );
return NULL;
}
bool input_CanPaceControl(input_thread_t *input)
{
input_thread_private_t *priv = input_priv(input);
return priv->master->b_can_pace_control;
}
......@@ -471,9 +471,6 @@ typedef struct input_thread_private_t
/* Global properties */
bool b_preparsing;
bool b_can_pause;
bool b_can_rate_control;
bool b_can_pace_control;
/* Current state */
int i_state;
......@@ -658,6 +655,8 @@ int input_GetAttachments(input_thread_t *input, input_attachment_t ***attachment
input_attachment_t *input_GetAttachment(input_thread_t *input, const char *name);
bool input_CanPaceControl(input_thread_t *input);
/**
* Hold the input_source_t
*/
......