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
404 results
Show changes
Commits on Source (3)
......@@ -791,6 +791,7 @@ libqt_plugin_la_QML = \
gui/qt/player/qml/TopBar.qml \
gui/qt/player/qml/TrackInfo.qml \
gui/qt/player/qml/ButtonsLayout.qml \
gui/qt/player/qml/controlbarcontrols/HighResolutionTimeWidget.qml \
gui/qt/player/qml/controlbarcontrols/ArtworkInfoWidget.qml \
gui/qt/player/qml/controlbarcontrols/AspectRatioWidget.qml \
gui/qt/player/qml/controlbarcontrols/AtoBButton.qml \
......
......@@ -65,6 +65,7 @@ public:
PLAYER_SWITCH_BUTTON,
ARTWORK_INFO,
PLAYBACK_SPEED_BUTTON,
HIGH_RESOLUTION_TIME_WIDGET,
SPLITTER = 0x20,
VOLUME,
......
......@@ -58,6 +58,8 @@ using TitleListPtr = vlc_shared_data_ptr_type(vlc_player_title_list,
PlayerControllerPrivate::~PlayerControllerPrivate()
{
assert(m_smpteTimerRequestCount == 0);
vlc_player_locker locker{m_player}; //this also locks the player
vlc_player_vout_RemoveListener( m_player, m_player_vout_listener );
vlc_player_aout_RemoveListener( m_player, m_player_aout_listener );
......@@ -949,6 +951,22 @@ static void on_player_timer_discontinuity(vlc_tick_t system_date, void *data)
});
}
static void on_player_timer_smpte_update(const struct vlc_player_timer_smpte_timecode *tc,
void *data)
{
PlayerControllerPrivate* that = static_cast<PlayerControllerPrivate *>(data);
that->callAsync([that, tc_copy = *tc](){
that->m_highResolutionTime = QString::asprintf("%02u:%02u:%02u%c%02u",
tc_copy.hours,
tc_copy.minutes,
tc_copy.seconds,
tc_copy.drop_frame ? '.' : ':',
tc_copy.frames);
emit that->q_func()->highResolutionTimeChanged(that->m_highResolutionTime);
});
}
} //extern "C"
static const struct vlc_player_cbs player_cbs = {
......@@ -1009,6 +1027,10 @@ static const vlc_player_timer_cbs player_timer_cbs = []{
return cbs;
}();
static const struct vlc_player_timer_smpte_cbs player_timer_smpte_cbs = {
on_player_timer_smpte_update
};
PlayerControllerPrivate::PlayerControllerPrivate(PlayerController *playercontroller, qt_intf_t *p_intf)
: q_ptr(playercontroller)
, p_intf(p_intf)
......@@ -1050,6 +1072,24 @@ PlayerControllerPrivate::PlayerControllerPrivate(PlayerController *playercontrol
m_volume = vlc_player_aout_GetVolume( m_player );
}
void PlayerControllerPrivate::addSMPTETimer()
{
assert( !m_player_timer_smpte );
vlc_player_locker lock{ m_player };
m_player_timer_smpte = vlc_player_AddSmpteTimer( m_player, &player_timer_smpte_cbs, this );
assert( m_player_timer_smpte );
}
void PlayerControllerPrivate::removeSMPTETimer()
{
assert( m_player_timer_smpte );
vlc_player_locker lock{ m_player };
vlc_player_RemoveTimer( m_player, m_player_timer_smpte );
m_player_timer_smpte = nullptr;
}
PlayerController::PlayerController( qt_intf_t *_p_intf )
: QObject(NULL)
, d_ptr( new PlayerControllerPrivate(this, _p_intf) )
......@@ -1698,6 +1738,27 @@ void PlayerController::toggleVisualization()
}
}
void PlayerController::requestAddSMPTETimer()
{
Q_D(PlayerController);
if ( ++d->m_smpteTimerRequestCount == 1 )
{
d->addSMPTETimer();
}
}
void PlayerController::requestRemoveSMPTETimer()
{
Q_D(PlayerController);
assert( d->m_smpteTimerRequestCount > 0 );
if ( --d->m_smpteTimerRequestCount == 0 )
{
d->removeSMPTETimer();
}
}
void PlayerController::setRecording( bool recording )
{
Q_D(PlayerController);
......@@ -1888,4 +1949,7 @@ PRIMITIVETYPE_GETTER(bool, isTeletextAvailable, m_teletextAvailable)
PRIMITIVETYPE_GETTER(int, getTeletextPage, m_teletextPage)
PRIMITIVETYPE_GETTER(bool, getTeletextTransparency, m_teletextTransparent)
// High resolution time fed by SMPTE timer
PRIMITIVETYPE_GETTER(QString, highResolutionTime, m_highResolutionTime)
#undef PRIMITIVETYPE_GETTER
......@@ -186,47 +186,54 @@ public:
Q_PROPERTY(VLCTick ABLoopB READ getABLoopB NOTIFY ABLoopBChanged FINAL)
Q_PROPERTY(bool recording READ isRecording WRITE setRecording NOTIFY recordingChanged FINAL)
// High resolution time fed by SMPTE Timer
Q_PROPERTY(QString highResolutionTime READ highResolutionTime NOTIFY highResolutionTimeChanged FINAL)
/* exposed actions */
public slots:
Q_INVOKABLE void reverse();
Q_INVOKABLE void slower();
Q_INVOKABLE void faster();
Q_INVOKABLE void littlefaster();
Q_INVOKABLE void littleslower();
Q_INVOKABLE void normalRate();
Q_INVOKABLE void jumpFwd();
Q_INVOKABLE void jumpBwd();
Q_INVOKABLE void jumpToTime( VLCTick i_time );
Q_INVOKABLE void jumpToPos( float );
Q_INVOKABLE void frameNext();
void reverse();
void slower();
void faster();
void littlefaster();
void littleslower();
void normalRate();
void jumpFwd();
void jumpBwd();
void jumpToTime( VLCTick i_time );
void jumpToPos( float );
void frameNext();
//title/chapters/menu
Q_INVOKABLE void sectionNext();
Q_INVOKABLE void sectionPrev();
Q_INVOKABLE void sectionMenu();
void sectionNext();
void sectionPrev();
void sectionMenu();
Q_INVOKABLE void chapterNext();
Q_INVOKABLE void chapterPrev();
Q_INVOKABLE void titleNext();
Q_INVOKABLE void titlePrev();
void chapterNext();
void chapterPrev();
void titleNext();
void titlePrev();
//programs
Q_INVOKABLE void changeProgram( int );
void changeProgram( int );
//vout properties
Q_INVOKABLE void toggleFullscreen();
void toggleFullscreen();
//aout properties
Q_INVOKABLE void setVolumeUp();
Q_INVOKABLE void setVolumeDown();
Q_INVOKABLE void toggleMuted();
void setVolumeUp();
void setVolumeDown();
void toggleMuted();
//misc
Q_INVOKABLE void toggleABloopState();
Q_INVOKABLE void snapshot();
Q_INVOKABLE void toggleRecord();
Q_INVOKABLE void toggleVisualization();
void toggleABloopState();
void snapshot();
void toggleRecord();
void toggleVisualization();
// SMPTE Timer
void requestAddSMPTETimer();
void requestRemoveSMPTETimer();
public:
PlayerController( qt_intf_t * );
......@@ -361,6 +368,8 @@ public slots:
VLCTick getABLoopA() const;
VLCTick getABLoopB() const;
// High resolution time fed by SMPTE timer
QString highResolutionTime() const;
signals:
//playback
void playingStateChanged( PlayingState state );
......@@ -425,6 +434,9 @@ signals:
void ABLoopAChanged(VLCTick);
void ABLoopBChanged(VLCTick);
// High resolution time fed by SMPTE timer
void highResolutionTimeChanged(const QString&);
// Other signals
// You can resume playback
......
......@@ -48,6 +48,10 @@ public:
void UpdateSpuOrder(vlc_es_id_t *es_id, enum vlc_vout_order spu_order);
int interpolateTime(vlc_tick_t system_now);
// SMPTE Timer
void addSMPTETimer();
void removeSMPTETimer();
///call function @a fun on object thread
template <typename Fun>
void callAsync(Fun&& fun)
......@@ -82,6 +86,9 @@ public:
float m_position = 0.f;
VLCTick m_length= 0;
QString m_highResolutionTime { "00:00:00:00" };
unsigned m_smpteTimerRequestCount = 0;
using InputItemPtr = vlc_shared_data_ptr_type(input_item_t,
input_item_Hold,
input_item_Release);
......
......@@ -62,7 +62,8 @@ QtObject {
{ id: ControlListModel.WIDGET_SPACER_EXTEND, file: "ExpandingSpacerWidget.qml", label: VLCIcons.space, text: i18n.qtr("Expanding Spacer") },
{ id: ControlListModel.PLAYER_SWITCH_BUTTON, file: "PlayerSwitchButton.qml", label: VLCIcons.fullscreen, text: i18n.qtr("Switch Player") },
{ id: ControlListModel.ARTWORK_INFO, file: "ArtworkInfoWidget.qml", label: VLCIcons.info, text: i18n.qtr("Artwork Info") },
{ id: ControlListModel.PLAYBACK_SPEED_BUTTON, file: "PlaybackSpeedButton.qml", label: "1x", text: i18n.qtr("Playback Speed") }
{ id: ControlListModel.PLAYBACK_SPEED_BUTTON, file: "PlaybackSpeedButton.qml", label: "1x", text: i18n.qtr("Playback Speed") },
{ id: ControlListModel.HIGH_RESOLUTION_TIME_WIDGET, file: "HighResolutionTimeWidget.qml", label: VLCIcons.info, text: i18n.qtr("High Resolution Time") }
]
function control(id) {
......
/*****************************************************************************
* Copyright (C) 2021 VLC authors and VideoLAN
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* ( at your option ) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
import QtQuick 2.11
import QtQuick.Controls 2.4
import org.videolan.vlc 0.1
import "qrc:///player/"
import "qrc:///widgets/" as Widgets
import "qrc:///style/"
Control {
id: highResolutionTimeWidget
property bool paintOnly: false
property VLCColors colors: VLCStyle.colors
padding: VLCStyle.focus_border
Keys.priority: Keys.AfterItem
Keys.onPressed: Navigation.defaultKeyAction(event)
function _adjustSMPTETimer(add) {
if (typeof toolbarEditor !== "undefined") // FIXME: Can't use paintOnly because it is set later
return
if (add === true)
player.requestAddSMPTETimer()
else if (add === false)
player.requestRemoveSMPTETimer()
}
Component.onCompleted: {
_adjustSMPTETimer(true)
}
Component.onDestruction: {
_adjustSMPTETimer(false)
}
background: Widgets.AnimatedBackground {
active: visualFocus
activeBorderColor: colors.bgFocus
}
contentItem: Item {
implicitHeight: smpteTimecodeMetrics.height
implicitWidth: smpteTimecodeMetrics.width
Widgets.MenuLabel {
id: label
anchors.fill: parent
text: paintOnly ? "00:00:00:00" : player.highResolutionTime
color: colors.text
horizontalAlignment: Text.AlignHCenter
}
TextMetrics {
id: smpteTimecodeMetrics
font: label.font
text: "-00:00:00:00-"
}
}
}
......@@ -346,6 +346,7 @@
<file alias="PlaybackSpeed.qml">player/qml/PlaybackSpeed.qml</file>
</qresource>
<qresource prefix="/player/controlbarcontrols">
<file alias="HighResolutionTimeWidget.qml">player/qml/controlbarcontrols/HighResolutionTimeWidget.qml</file>
<file alias="ArtworkInfoWidget.qml">player/qml/controlbarcontrols/ArtworkInfoWidget.qml</file>
<file alias="AspectRatioWidget.qml">player/qml/controlbarcontrols/AspectRatioWidget.qml</file>
<file alias="AtoBButton.qml">player/qml/controlbarcontrols/AtoBButton.qml</file>
......