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
401 results
Show changes
Commits on Source (3)
Showing
with 14 additions and 80 deletions
......@@ -53,29 +53,23 @@ static Compositor* instanciateCompositor(qt_intf_t *p_intf) {
return new T(p_intf);
}
template<typename T>
static bool preInit(qt_intf_t *p_intf) {
return T::preInit(p_intf);
}
struct {
const char* name;
Compositor* (*instantiate)(qt_intf_t *p_intf);
bool (*preInit)(qt_intf_t *p_intf);
} static compositorList[] = {
#ifdef _WIN32
#ifdef HAVE_DCOMP_H
{"dcomp", &instanciateCompositor<CompositorDirectComposition>, &preInit<CompositorDirectComposition> },
{"dcomp", &instanciateCompositor<CompositorDirectComposition> },
#endif
{"win7", &instanciateCompositor<CompositorWin7>, &preInit<CompositorWin7> },
{"win7", &instanciateCompositor<CompositorWin7> },
#endif
#ifdef QT_HAS_WAYLAND_COMPOSITOR
{"wayland", &instanciateCompositor<CompositorWayland>, &preInit<CompositorWayland> },
{"wayland", &instanciateCompositor<CompositorWayland> },
#endif
#ifdef QT_HAS_X11_COMPOSITOR
{"x11", &instanciateCompositor<CompositorX11>, &preInit<CompositorX11> },
{"x11", &instanciateCompositor<CompositorX11> },
#endif
{"dummy", &instanciateCompositor<CompositorDummy>, &preInit<CompositorDummy> }
{"dummy", &instanciateCompositor<CompositorDummy> }
};
CompositorFactory::CompositorFactory(qt_intf_t *p_intf, const char* compositor)
......@@ -84,19 +78,6 @@ CompositorFactory::CompositorFactory(qt_intf_t *p_intf, const char* compositor)
{
}
bool CompositorFactory::preInit()
{
for (; m_compositorIndex < ARRAY_SIZE(compositorList); m_compositorIndex++)
{
if (m_compositorName == "auto" || m_compositorName == compositorList[m_compositorIndex].name)
{
if (compositorList[m_compositorIndex].preInit(m_intf))
return true;
}
}
return false;
}
Compositor* CompositorFactory::createCompositor()
{
for (; m_compositorIndex < ARRAY_SIZE(compositorList); m_compositorIndex++)
......
......@@ -173,9 +173,6 @@ Q_DECLARE_OPERATORS_FOR_FLAGS(CompositorVideo::Flags)
*
* the usual scenario is:
*
* - call to preInit that will try to preInit compositors from list until we find
* a matching candidate
*
* - start Qt main loop
*
* - call to createCompositor to instantiate the compositor, if it fails it will
......@@ -186,18 +183,6 @@ public:
CompositorFactory(qt_intf_t *p_intf, const char* compositor = "auto");
/**
* @brief preInit will check whether a compositor can be used, before starting Qt,
* each candidate may perform some basic checks and can setup Qt environment variable if required
*
* @note if a compositor return true on preinit but fails to initialize afterwards, next
* compositor in chain will be initialized without the preinit phaze (as Qt will be already started)
* this might lead to an unstable configuration if incompatible operations are done in the preInit phase
*
* @return true if a compositor can be instantiated
*/
bool preInit();
/**
* @brief createCompositor will instantiate a compositor
*
......
......@@ -109,13 +109,19 @@ CompositorDirectComposition::~CompositorDirectComposition()
destroyMainInterface();
}
bool CompositorDirectComposition::preInit(qt_intf_t *intf)
bool CompositorDirectComposition::init()
{
#if !defined(QRhiD3D11_ACTIVE) && !defined(QRhiD3D12_ACTIVE)
msg_Warn(intf, "compositor_dcomp was not built with D3D11 or D3D12 headers. It will not work.");
msg_Warn(m_intf, "compositor_dcomp was not built with D3D11 or D3D12 headers. It will not work.");
return false;
#endif
{
const QString& platformName = qApp->platformName();
if (!(platformName == QLatin1String("windows") || platformName == QLatin1String("direct2d")))
return false;
}
QSystemLibrary dcomplib(QLatin1String("dcomp"));
typedef HRESULT (__stdcall *DCompositionCreateDeviceFuncPtr)(
......@@ -128,24 +134,13 @@ bool CompositorDirectComposition::preInit(qt_intf_t *intf)
Microsoft::WRL::ComPtr<IDCompositionDevice> device;
if (!func || FAILED(func(nullptr, IID_PPV_ARGS(&device))))
{
msg_Warn(intf, "Can not create DCompositionDevice. CompositorDirectComposition will not work.");
msg_Warn(m_intf, "Can not create DCompositionDevice. CompositorDirectComposition will not work.");
return false;
}
return true;
}
bool CompositorDirectComposition::init()
{
{
const QString& platformName = qApp->platformName();
if (!(platformName == QLatin1String("windows") || platformName == QLatin1String("direct2d")))
return false;
}
return true;
}
void CompositorDirectComposition::setup()
{
assert(m_quickView);
......
......@@ -48,7 +48,6 @@ public:
CompositorDirectComposition(qt_intf_t *p_intf, QObject* parent = nullptr);
~CompositorDirectComposition();
static bool preInit(qt_intf_t *);
bool init() override;
bool makeMainInterface(MainCtx*) override;
......
......@@ -33,11 +33,6 @@ CompositorDummy::~CompositorDummy()
{
}
bool CompositorDummy::preInit(qt_intf_t *)
{
return true;
}
bool CompositorDummy::init()
{
return true;
......
......@@ -38,7 +38,6 @@ public:
CompositorDummy(qt_intf_t *p_intf, QObject* parent = nullptr);
virtual ~CompositorDummy();
static bool preInit(qt_intf_t*);
bool init() override;
bool makeMainInterface(MainCtx*) override;
......
......@@ -61,11 +61,6 @@ CompositorWayland::~CompositorWayland()
}
}
bool CompositorWayland::preInit(qt_intf_t *)
{
return true;
}
bool CompositorWayland::init()
{
QPlatformNativeInterface* native = QGuiApplication::platformNativeInterface();
......
......@@ -42,7 +42,6 @@ public:
CompositorWayland(qt_intf_t *p_intf, QObject* parent = nullptr);
virtual ~CompositorWayland();
static bool preInit(qt_intf_t*);
bool init() override;
bool makeMainInterface(MainCtx*) override;
......
......@@ -50,11 +50,6 @@ CompositorWin7::~CompositorWin7()
{
}
bool CompositorWin7::preInit(qt_intf_t *p_intf)
{
return true;
}
bool CompositorWin7::init()
{
{
......
......@@ -47,7 +47,6 @@ public:
virtual ~CompositorWin7();
static bool preInit(qt_intf_t *p_intf);
bool init() override;
bool makeMainInterface(MainCtx*) override;
......
......@@ -62,11 +62,6 @@ CompositorX11::~CompositorX11()
xcb_disconnect(m_conn);
}
bool CompositorX11::preInit(qt_intf_t*)
{
return true;
}
static bool checkExtensionPresent(qt_intf_t* intf, xcb_connection_t *conn, const char* extension)
{
bool ret = queryExtension(conn, extension, nullptr, nullptr);
......
......@@ -38,7 +38,6 @@ public:
explicit CompositorX11(qt_intf_t *p_intf, QObject *parent = nullptr);
virtual ~CompositorX11();
static bool preInit(qt_intf_t *);
bool init() override;
bool makeMainInterface(MainCtx*) override;
......
......@@ -859,8 +859,6 @@ static void *Thread( void *obj )
vlc::CompositorFactory compositorFactory(p_intf, compositor);
free(compositor);
compositorFactory.preInit();
// at the moment, the vout is created in another thread than the rendering thread
QApplication::setAttribute( Qt::AA_DontCheckOpenGLContextThreadAffinity );
QQuickWindow::setDefaultAlphaBuffer(true);
......