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
403 results
Show changes
Commits on Source (8)
......@@ -282,8 +282,8 @@ void ExtVideo::cropChange()
ui.cropBotPx->setValue( ui.cropTopPx->value() );
if( ui.leftRightCropSync->isChecked() )
ui.cropRightPx->setValue( ui.cropLeftPx->value() );
PlayerController::VoutPtrList p_vouts = THEMIM->getVouts();
PlayerController::VOutThreadList p_vouts = THEMIM->getVouts();
for( auto p_vout: p_vouts )
{
var_SetInteger( p_vout.get(), "crop-top", ui.cropTopPx->value() );
......@@ -866,7 +866,7 @@ void FilterSliderData::updateText( int i )
float FilterSliderData::initialValue()
{
PlayerController::AoutPtr p_aout = THEMIM->getAout();
SharedAOut p_aout = THEMIM->getAout();
float f = p_data->f_value;
if( p_aout )
{
......@@ -885,7 +885,7 @@ float FilterSliderData::initialValue()
void FilterSliderData::onValueChanged( int i )
{
float f = ((float) i) * p_data->f_resolution;
PlayerController::AoutPtr p_aout = THEMIM->getAout();
SharedAOut p_aout = THEMIM->getAout();
if ( p_aout )
{
var_SetFloat( p_aout.get(), qtu(p_data->name), f );
......@@ -995,7 +995,7 @@ EqualizerSliderData::EqualizerSliderData( QObject *parent, qt_intf_t *_p_intf,
QStringList EqualizerSliderData::getBandsFromAout() const
{
PlayerController::AoutPtr p_aout = THEMIM->getAout();
SharedAOut p_aout = THEMIM->getAout();
QStringList bands;
if( p_aout )
{
......@@ -1056,7 +1056,7 @@ void EqualizerSliderData::onValueChanged( int i )
{
float f = ((float) i) * p_data->f_resolution;
bands[ index ] = QLocale( QLocale::C ).toString( f );
PlayerController::AoutPtr p_aout = THEMIM->getAout();
SharedAOut p_aout = THEMIM->getAout();
if ( p_aout )
{
var_SetString( p_aout.get(), qtu(p_data->name), qtu(bands.join( " " )) );
......@@ -1185,7 +1185,7 @@ void Equalizer::build()
connect( ui.presetsCombo, QOverload<int>::of(&QComboBox::activated), this, &Equalizer::setCorePreset );
/* Set enable checkbox */
PlayerController::AoutPtr p_aout = THEMIM->getAout();
SharedAOut p_aout = THEMIM->getAout();
char *psz_af;
if( p_aout )
psz_af = var_GetNonEmptyString( p_aout.get(), "audio-filter" );
......@@ -1231,8 +1231,8 @@ void Equalizer::setCorePreset( int i_preset )
for ( int i=0; i< qMin( eqz_preset_10b[i_preset].i_band,
sliderDatas.count() ) ; i++ )
sliderDatas[i]->setValue( eqz_preset_10b[i_preset].f_amp[i] );
PlayerController::AoutPtr p_aout = THEMIM->getAout();
SharedAOut p_aout = THEMIM->getAout();
if( p_aout )
{
var_SetString( p_aout.get() , "equalizer-preset" , preset_list[i_preset] );
......@@ -1243,7 +1243,7 @@ void Equalizer::setCorePreset( int i_preset )
/* Function called when the set2Pass button is activated */
void Equalizer::enable2Pass( bool b_enable )
{
PlayerController::AoutPtr p_aout= THEMIM->getAout();
SharedAOut p_aout= THEMIM->getAout();
if( p_aout )
{
......@@ -1601,7 +1601,7 @@ void SyncControls::subsdelayClean()
void SyncControls::subsdelaySetFactor( double f_factor )
{
PlayerController::VoutPtrList p_vouts = THEMIM->getVouts();
PlayerController::VOutThreadList p_vouts = THEMIM->getVouts();
for( auto p_vout: p_vouts )
{
var_SetFloat( p_vout.get(), SUBSDELAY_CFG_FACTOR, f_factor );
......
......@@ -746,7 +746,7 @@ QMenu* VLCMenuBar::PopupMenu( qt_intf_t *p_intf, bool show )
if( p_input )
{
QMenu *submenu;
PlayerController::VoutPtr p_vout = THEMIM->getVout();
SharedVOutThread p_vout = THEMIM->getVout();
/* Add a fullscreen switch button, since it is the most used function */
if( p_vout )
......@@ -930,7 +930,7 @@ void VLCMenuBar::updateAudioDevice( qt_intf_t * p_intf, QMenu *current )
return;
current->clear();
PlayerController::AoutPtr aout = THEMIM->getAout();
SharedAOut aout = THEMIM->getAout();
if (!aout)
return;
......
......@@ -44,13 +44,13 @@
//PlayerController private implementation
using EsIdPtr = vlc_shared_data_ptr_type(vlc_es_id_t,
vlc_es_id_Hold,
vlc_es_id_Release);
using SharedEsId = vlc_shared_data_ptr_type(vlc_es_id_t,
vlc_es_id_Hold,
vlc_es_id_Release);
using TitleListPtr = vlc_shared_data_ptr_type(vlc_player_title_list,
vlc_player_title_list_Hold,
vlc_player_title_list_Release);
using SharedTitleList = vlc_shared_data_ptr_type(vlc_player_title_list,
vlc_player_title_list_Hold,
vlc_player_title_list_Release);
PlayerControllerPrivate::~PlayerControllerPrivate()
{
......@@ -315,7 +315,7 @@ static void on_player_state_changed(vlc_player_t *, enum vlc_player_state state,
case VLC_PLAYER_STATE_PLAYING:
{
msg_Dbg( that->p_intf, "on_player_state_changed VLC_PLAYER_STATE_PLAYING");
PlayerController::AoutPtr aout = q->getAout();
SharedAOut aout = q->getAout();
that->m_audioStereoMode.resetObject( aout.get() );
that->m_audioMixMode.resetObject( aout.get() );
that->m_audioVisualization.resetObject( aout.get() );
......@@ -479,8 +479,8 @@ static void on_player_track_selection_changed(vlc_player_t *, vlc_es_id_t * unse
PlayerControllerPrivate* that = static_cast<PlayerControllerPrivate*>(data);
msg_Dbg( that->p_intf, "on_player_track_selection_changed");
EsIdPtr unselectedPtr = EsIdPtr(unselected);
EsIdPtr selectedPtr = EsIdPtr(selected);
SharedEsId unselectedPtr = SharedEsId(unselected);
SharedEsId selectedPtr = SharedEsId(selected);
that->callAsync([that,unselectedPtr,selectedPtr] () {
if (unselectedPtr)
......@@ -521,10 +521,10 @@ static void on_player_titles_changed(vlc_player_t *, struct vlc_player_title_lis
PlayerControllerPrivate* that = static_cast<PlayerControllerPrivate*>(data);
msg_Dbg( that->p_intf, "on_player_title_array_changed");
TitleListPtr titleListPtr = TitleListPtr(titles);
SharedTitleList sharedTitleList = SharedTitleList(titles);
that->callAsync([that,titleListPtr] (){
struct vlc_player_title_list *titles = titleListPtr.get();
that->callAsync([that,sharedTitleList] (){
struct vlc_player_title_list *titles = sharedTitleList.get();
that->m_chapterList.resetTitle(nullptr);
that->m_titleList.resetTitles(titles);
......@@ -662,10 +662,10 @@ static void on_player_track_delay_changed(vlc_player_t *,
void *data)
{
PlayerControllerPrivate* that = static_cast<PlayerControllerPrivate*>(data);
EsIdPtr esIdPtr = EsIdPtr(es_id);
SharedEsId sharedEsId = SharedEsId(es_id);
that->callAsync([that,esIdPtr,new_delay] (){
if (that->m_secondarySpuEsId == esIdPtr)
that->callAsync([that,sharedEsId,new_delay] (){
if (that->m_secondarySpuEsId == sharedEsId)
{
that->m_secondarySubtitleDelay = new_delay;
emit that->q_func()->secondarySubtitleDelayChanged( new_delay );
......@@ -812,9 +812,9 @@ static void on_player_vout_changed(vlc_player_t *player, enum vlc_player_vout_ac
}
case SPU_ES:
{
EsIdPtr esIdPtr = EsIdPtr(es_id);
that->callAsync([that,esIdPtr,order] () {
that->UpdateSpuOrder(esIdPtr.get(), order);
SharedEsId sharedEsId = SharedEsId(es_id);
that->callAsync([that,sharedEsId,order] () {
that->UpdateSpuOrder(sharedEsId.get(), order);
});
break;
}
......@@ -830,12 +830,12 @@ static void on_player_vout_fullscreen_changed(vout_thread_t* vout, bool is_fulls
PlayerControllerPrivate* that = static_cast<PlayerControllerPrivate*>(data);
msg_Dbg( that->p_intf, "on_player_vout_fullscreen_changed %s", is_fullscreen ? "fullscreen" : "windowed");
PlayerController::VoutPtr voutPtr = PlayerController::VoutPtr(vout);
that->callAsync([that,voutPtr,is_fullscreen] () {
SharedVOutThread vOutThread(vout);
that->callAsync([that,vOutThread,is_fullscreen] () {
PlayerController* q = that->q_func();
const PlayerController::VoutPtrList voutList = q->getVouts();
if (voutPtr == nullptr //property sets for all vout
|| (voutList.size() == 1 && voutPtr.get() == voutList[0].get()) ) //on the only vout
const PlayerController::VOutThreadList voutList = q->getVouts();
if (vOutThread == nullptr //property sets for all vout
|| (voutList.size() == 1 && vOutThread.get() == voutList[0].get()) ) //on the only vout
{
that->m_fullscreen = is_fullscreen;
emit q->fullscreenChanged(is_fullscreen);
......@@ -848,12 +848,12 @@ static void on_player_vout_wallpaper_mode_changed(vout_thread_t* vout, bool enab
PlayerControllerPrivate* that = static_cast<PlayerControllerPrivate*>(data);
msg_Dbg( that->p_intf, "on_player_vout_wallpaper_mode_changed %s", enabled ? "enabled" : "disabled");
PlayerController::VoutPtr voutPtr = PlayerController::VoutPtr(vout);
that->callAsync([that,voutPtr, enabled] () {
SharedVOutThread vOutThread(vout);
that->callAsync([that,vOutThread, enabled] () {
PlayerController* q = that->q_func();
const PlayerController::VoutPtrList voutList = q->getVouts();
if (voutPtr == nullptr //property sets for all vout
|| (voutList.size() == 1 && voutPtr.get() == voutList[0].get()) ) //on the only vout
const PlayerController::VOutThreadList voutList = q->getVouts();
if (vOutThread == nullptr //property sets for all vout
|| (voutList.size() == 1 && vOutThread.get() == voutList[0].get()) ) //on the only vout
{
that->m_wallpaperMode = enabled;
emit q->wallpaperModeChanged(enabled);
......@@ -1521,41 +1521,41 @@ void PlayerController::setTeletextTransparency( bool transparent )
//VOUT PROPERTIES
PlayerController::VoutPtrList PlayerController::getVouts() const
PlayerController::VOutThreadList PlayerController::getVouts() const
{
Q_D(const PlayerController);
vout_thread_t **pp_vout;
VoutPtrList VoutList;
VOutThreadList VoutList;
size_t i_vout;
{
vlc_player_locker lock{ d->m_player };
if( !vlc_player_IsStarted( d->m_player ) )
return VoutPtrList{};
return VOutThreadList{};
i_vout = 0;
pp_vout = vlc_player_vout_HoldAll( d->m_player, &i_vout );
if ( i_vout <= 0 )
return VoutPtrList{};
return VOutThreadList{};
}
VoutList.reserve( i_vout );
for( size_t i = 0; i < i_vout; i++ )
{
assert( pp_vout[i] );
//pass ownership
VoutList.append(VoutPtr(pp_vout[i], false));
VoutList.append(SharedVOutThread(pp_vout[i], false));
}
free( pp_vout );
return VoutList;
}
PlayerController::VoutPtr PlayerController::getVout()
SharedVOutThread PlayerController::getVout()
{
Q_D(PlayerController);
vlc_player_locker lock{ d->m_player };
vout_thread_t* vout = vlc_player_vout_Hold( d->m_player );
if( vout == NULL )
return VoutPtr{};
return VoutPtr{vout, false};
return SharedVOutThread{};
return SharedVOutThread{vout, false};
}
void PlayerController::setFullscreen( bool new_val )
......@@ -1593,11 +1593,11 @@ void PlayerController::setAutoscale( bool new_val )
//AOUT PROPERTIES
PlayerController::AoutPtr PlayerController::getAout()
SharedAOut PlayerController::getAout()
{
Q_D(PlayerController);
vlc_player_locker lock{ d->m_player };
return AoutPtr( vlc_player_aout_Hold( d->m_player ), false );
return SharedAOut( vlc_player_aout_Hold( d->m_player ), false );
}
void PlayerController::setVolume(float volume)
......@@ -1645,7 +1645,7 @@ bool PlayerController::hasAudioVisualization() const
void PlayerController::menusUpdateAudio( const QString& data )
{
AoutPtr aout = getAout();
SharedAOut aout = getAout();
if( aout )
aout_DeviceSet( aout.get(), qtu(data) );
}
......@@ -1827,7 +1827,7 @@ void PlayerController::setRecording( bool recording )
void PlayerController::snapshot()
{
VoutPtr vout = getVout();
SharedVOutThread vout = getVout();
if (vout)
{
/* Passing a lambda directly would require Qt 5.15:
......@@ -1835,8 +1835,8 @@ void PlayerController::snapshot()
*/
struct SnapshotTask : public QRunnable
{
VoutPtr vout;
SnapshotTask(VoutPtr vout) : vout(std::move(vout)) {}
SharedVOutThread vout;
SnapshotTask(SharedVOutThread vout) : vout(std::move(vout)) {}
void run() override
{
var_TriggerCallback(vout.get(), "video-snapshot");
......
......@@ -37,6 +37,9 @@
using vlc_player_locker = vlc_locker<vlc_player_t, vlc_player_Lock, vlc_player_Unlock>;
using SharedVOutThread = vlc_shared_data_ptr_type(vout_thread_t, vout_Hold, vout_Release);
using SharedAOut = vlc_shared_data_ptr_type(audio_output_t, aout_Hold, aout_Release);
class QSignalMapper;
class IMEvent : public QEvent
......@@ -251,14 +254,7 @@ public:
~PlayerController();
public:
static void vout_Hold_fct( vout_thread_t* vout ) { vout_Hold(vout); }
static void vout_Release_fct( vout_thread_t* vout ) { vout_Release(vout); }
typedef vlc_shared_data_ptr_type(vout_thread_t, PlayerController::vout_Hold_fct, PlayerController::vout_Release_fct) VoutPtr;
static void aout_Hold_fct( audio_output_t* aout ) { aout_Hold(aout); }
static void aout_Release_fct( audio_output_t* aout ) { aout_Release(aout); }
typedef vlc_shared_data_ptr_type(audio_output_t, PlayerController::aout_Hold_fct, PlayerController::aout_Release_fct) AoutPtr;
typedef QVector<VoutPtr> VoutPtrList;
using VOutThreadList = QVector<SharedVOutThread>;
public:
......@@ -266,9 +262,9 @@ public:
input_item_t *getInput();
VoutPtr getVout();
VoutPtrList getVouts() const;
PlayerController::AoutPtr getAout();
SharedVOutThread getVout();
VOutThreadList getVouts() const;
SharedAOut getAout();
int AddAssociatedMedia(enum es_format_category_e cat, const QString& uri, bool select, bool notify, bool check_ext);
void requestArtUpdate( input_item_t *p_item, bool b_forced );
......
......@@ -34,14 +34,14 @@
//namespace vlc {
// namespace playlist {
using PlaylistItemPtr = vlc_shared_data_ptr_type(vlc_playlist_item_t,
vlc_playlist_item_Hold,
vlc_playlist_item_Release);
using SharedPlaylistItem = vlc_shared_data_ptr_type(vlc_playlist_item_t,
vlc_playlist_item_Hold,
vlc_playlist_item_Release);
/**
* Playlist item wrapper.
*
* It contains both the PlaylistItemPtr and cached data saved while the playlist
* It contains both the SharedPlaylistItem and cached data saved while the playlist
* is locked, so that the fields may be read without synchronization or race
* conditions.
*/
......@@ -84,7 +84,7 @@ public:
private:
struct Data : public QSharedData {
PlaylistItemPtr item;
SharedPlaylistItem item;
bool selected = false;
......