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
  • b.sullender/vlc
  • hulxv/vlc
  • zyad-ayad/vlc
  • shocknovaa/vlc
  • gremlinflat/vlc
  • Pratham24D/vlc
411 results
Show changes
Commits on Source (4)
......@@ -2570,27 +2570,37 @@ static bool EsOutSelectHasExplicitParams( const es_out_es_props_t *p_esprops )
return p_esprops->str_ids || p_esprops->i_channel >= 0;
}
static bool EsOutIdMatchStrIds( const es_out_id_t *es, char *str_ids )
{
char *saveptr;
for( const char *str_id = strtok_r( str_ids, ",", &saveptr );
str_id != NULL ;
str_id = strtok_r( NULL, ",", &saveptr ) )
{
if( strcmp( str_id, es->id.str_id ) == 0 )
return true;
}
return false;
}
static bool EsOutSelectMatchExplicitParams( const es_out_es_props_t *p_esprops,
const es_out_id_t *es )
{
/* user designated by ID ES have higher prio than everything */
if( p_esprops->str_ids )
{
char *saveptr, *str_ids = strdup( p_esprops->str_ids );
/* EsOutIdMatchStrIds will modify str_ids */
char *str_ids = strdup( p_esprops->str_ids );
if( str_ids )
{
for( const char *str_id = strtok_r( str_ids, ",", &saveptr );
str_id != NULL ;
str_id = strtok_r( NULL, ",", &saveptr ) )
{
if( strcmp( str_id, es->id.str_id ) == 0 )
{
free( str_ids );
return true;
}
}
bool matching = EsOutIdMatchStrIds( es, str_ids );
free( str_ids );
if( matching )
return true;
}
free( str_ids );
}
/* then channel index */
......@@ -2743,6 +2753,7 @@ static void EsOutSelectListFromProps( es_out_t *out, enum es_format_category_e c
{
es_out_sys_t *p_sys = container_of(out, es_out_sys_t, out);
es_out_es_props_t *esprops = GetPropsByCat( p_sys, cat );
es_out_id_t *other;
if( !esprops || !esprops->str_ids )
return;
......@@ -2750,48 +2761,51 @@ static void EsOutSelectListFromProps( es_out_t *out, enum es_format_category_e c
if( !buffer )
return;
bool unselect_others = false;
es_out_id_t *other;
/* Unselect all ES that are not on the str_ids list.
* This step need to be done before the selection step, specially
* for the EXCLUSIVE ES policy. Indeed, having multiple ES selected is not
* supported for this policy. */
foreach_es_then_es_slaves(other)
{
if( other->fmt.i_cat != cat )
continue;
/* EsOutIdMatchStrIds will modify str_ids */
strcpy( buffer, esprops->str_ids );
if( !EsOutIdMatchStrIds( other, buffer ) && EsIsSelected( other ) )
EsOutUnselectEs( out, other, other->p_pgrm == p_sys->p_pgrm );
}
/* Now, select all ES from the str_ids list */
foreach_es_then_es_slaves( other )
{
if( other->fmt.i_cat != cat )
continue;
bool select = false;
if( !unselect_others )
/* EsOutIdMatchStrIds will modify str_ids */
strcpy( buffer, esprops->str_ids );
if( EsOutIdMatchStrIds( other, buffer ) && !EsIsSelected( other ) )
{
/* strtok_r will modify str_ids */
strcpy( buffer, esprops->str_ids );
char *saveptr;
for( const char *str_id = strtok_r( buffer, ",", &saveptr );
str_id != NULL;
str_id = strtok_r( NULL, ",", &saveptr ) )
{
if( strcmp( other->id.str_id, str_id ) == 0 )
{
select = true;
break;
}
}
}
EsOutSelectEs( out, other, true );
if( !select )
{
if( EsIsSelected( other ) )
EsOutUnselectEs( out, other, other->p_pgrm == p_sys->p_pgrm );
}
else
{
if( !EsIsSelected( other ) )
EsOutSelectEs( out, other, true );
if( esprops->e_policy == ES_OUT_ES_POLICY_EXCLUSIVE )
unselect_others = true;
break;
}
}
free( buffer );
}
static bool EsOutIdMatchEsList( const es_out_id_t *es, vlc_es_id_t * const*es_id_list )
{
for( size_t i = 0; es_id_list[i] != NULL; i++ )
{
if( es_id_list[i] == &es->id )
return true;
}
return false;
}
static void EsOutSelectList( es_out_t *out, enum es_format_category_e cat,
vlc_es_id_t * const*es_id_list )
{
......@@ -2799,38 +2813,31 @@ static void EsOutSelectList( es_out_t *out, enum es_format_category_e cat,
es_out_id_t *other;
es_out_es_props_t *p_esprops = GetPropsByCat( p_sys, cat );
bool unselect_others = false;
/* Unselect all ES that are not on es_id_list.
* This step need to be done before the selection step, specially
* for the EXCLUSIVE ES policy. Indeed, having multiple ES selected is not
* supported for this policy. */
foreach_es_then_es_slaves(other)
{
if( other->fmt.i_cat != cat )
continue;
bool select = false;
if( !unselect_others )
{
for( size_t i = 0; ; i++ )
{
vlc_es_id_t *es_id = es_id_list[i];
if( es_id == NULL )
break;
else if( es_id == &other->id )
{
select = true;
break;
}
}
}
if( !select )
{
if( EsIsSelected( other ) )
EsOutUnselectEs( out, other, other->p_pgrm == p_sys->p_pgrm );
}
else
if( !EsOutIdMatchEsList( other, es_id_list ) && EsIsSelected( other ) )
EsOutUnselectEs( out, other, other->p_pgrm == p_sys->p_pgrm );
}
/* Now, select all ES from es_id_list */
foreach_es_then_es_slaves(other)
{
if( other->fmt.i_cat != cat )
continue;
if( EsOutIdMatchEsList( other, es_id_list ) && !EsIsSelected( other ) )
{
if( !EsIsSelected( other ) )
EsOutSelectEs( out, other, true );
EsOutSelectEs( out, other, true );
if( p_esprops->e_policy == ES_OUT_ES_POLICY_EXCLUSIVE )
unselect_others = true;
break;
}
}
}
......