Skip to content
Snippets Groups Projects
  • Andreas Traczyk's avatar
    e7cc0497
    video: use QVideoSink/VideoOutput and QVideoFrame instead of QImage · e7cc0497
    Andreas Traczyk authored and Adrien Béraud's avatar Adrien Béraud committed
    Removes the rendermanager and framewrapper objects along with any
    QQuickPaintedItem-based QML render widget classes. This simplifies
    the video widget stack implementation.
    
    The new mechanism uses the VideoOutput component of QtMultimedia.
    By accessing the VideoOutput's QVideoSink object, we update the
    mapped buffer data of a sink's QVideoFrame when new frames are
    published. Updates to frames and component sink subscriptions are
    managed by a new class called VideoProvider.
    
    Gitlab: #500
    Also #536
    
    Change-Id: I2391a32294922ea435ab80ac1f876c004ff6c21e
    e7cc0497
    History
    video: use QVideoSink/VideoOutput and QVideoFrame instead of QImage
    Andreas Traczyk authored and Adrien Béraud's avatar Adrien Béraud committed
    Removes the rendermanager and framewrapper objects along with any
    QQuickPaintedItem-based QML render widget classes. This simplifies
    the video widget stack implementation.
    
    The new mechanism uses the VideoOutput component of QtMultimedia.
    By accessing the VideoOutput's QVideoSink object, we update the
    mapped buffer data of a sink's QVideoFrame when new frames are
    published. Updates to frames and component sink subscriptions are
    managed by a new class called VideoProvider.
    
    Gitlab: #500
    Also #536
    
    Change-Id: I2391a32294922ea435ab80ac1f876c004ff6c21e
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
qml.qrc 11.81 KiB
<RCC>
    <qresource prefix="/">
        <file>src/MainApplicationWindow.qml</file>
        <file>src/DaemonReconnectWindow.qml</file>
        <file>src/constant/JamiQmlUtils.qml</file>
        <file>src/constant/JamiStrings.qml</file>
        <file>src/constant/JamiTheme.qml</file>
        <file>src/commoncomponents/VideoView.qml</file>
        <file>src/commoncomponents/LocalVideo.qml</file>
        <file>src/commoncomponents/SettingParaCombobox.qml</file>
        <file>src/commoncomponents/PreferenceItemDelegate.qml</file>
        <file>src/commoncomponents/PasswordDialog.qml</file>
        <file>src/commoncomponents/MaterialLineEdit.qml</file>
        <file>src/commoncomponents/PhotoboothView.qml</file>
        <file>src/commoncomponents/JamiListView.qml</file>
        <file>src/commoncomponents/DeleteAccountDialog.qml</file>
        <file>src/commoncomponents/CustomBorder.qml</file>
        <file>src/commoncomponents/PushButton.qml</file>
        <file>src/commoncomponents/JamiFileDialog.qml</file>
        <file>src/commoncomponents/MaterialButton.qml</file>
        <file>src/commoncomponents/ElidedTextLabel.qml</file>
        <file>src/commoncomponents/SpinnerButton.qml</file>
        <file>src/commoncomponents/UsernameLineEdit.qml</file>
        <file>src/commoncomponents/Scaffold.qml</file>
        <file>src/commoncomponents/LineEditContextMenu.qml</file>
        <file>src/commoncomponents/BaseModalDialog.qml</file>
        <file>src/commoncomponents/SimpleMessageDialog.qml</file>
        <file>src/commoncomponents/ResponsiveImage.qml</file>
        <file>src/commoncomponents/PresenceIndicator.qml</file>
        <file>src/commoncomponents/DaemonReconnectPopup.qml</file>
        <file>src/commoncomponents/SpinningAnimation.qml</file>
        <file>src/settingsview/SettingsView.qml</file>
        <file>src/settingsview/components/ChatviewSettings.qml</file>
        <file>src/settingsview/components/FileTransferSettings.qml</file>
        <file>src/settingsview/components/SettingsMenu.qml</file>
        <file>src/settingsview/components/SettingsMenuButton.qml</file>
        <file>src/settingsview/components/SettingsHeader.qml</file>
        <file>src/settingsview/components/SystemSettings.qml</file>
        <file>src/settingsview/components/RecordingSettings.qml</file>
        <file>src/settingsview/components/UpdateSettings.qml</file>
        <file>src/settingsview/components/AvSettingPage.qml</file>
        <file>src/settingsview/components/AudioSettings.qml</file>
        <file>src/settingsview/components/VideoSettings.qml</file>
        <file>src/settingsview/components/GeneralSettingsPage.qml</file>
        <file>src/settingsview/components/PluginSettingsPage.qml</file>
        <file>src/settingsview/components/PluginListSettingsView.qml</file>
        <file>src/settingsview/components/PluginListPreferencesView.qml</file>
        <file>src/settingsview/components/CurrentAccountSettings.qml</file>
        <file>src/settingsview/components/UserIdentity.qml</file>
        <file>src/settingsview/components/JamiUserIdentity.qml</file>
        <file>src/settingsview/components/SIPUserIdentity.qml</file>
        <file>src/settingsview/components/AccountProfile.qml</file>
        <file>src/settingsview/components/LinkedDevices.qml</file>
        <file>src/settingsview/components/BannedContacts.qml</file>
        <file>src/settingsview/components/AdvancedSettings.qml</file>
        <file>src/settingsview/components/AdvancedJamiSecuritySettings.qml</file>
        <file>src/settingsview/components/AdvancedSIPSecuritySettings.qml</file>
        <file>src/settingsview/components/AdvancedMediaSettings.qml</file>
        <file>src/settingsview/components/MediaSettings.qml</file>
        <file>src/settingsview/components/AdvancedSDPSettings.qml</file>
        <file>src/settingsview/components/AdvancedNameServerSettings.qml</file>
        <file>src/settingsview/components/AdvancedVoiceMailSettings.qml</file>
        <file>src/settingsview/components/AdvancedOpenDHTSettings.qml</file>
        <file>src/settingsview/components/AdvancedPublicAddressSettings.qml</file>
        <file>src/settingsview/components/AdvancedConnectivitySettings.qml</file>
        <file>src/settingsview/components/AdvancedCallSettings.qml</file>
        <file>src/settingsview/components/AdvancedChatSettings.qml</file>
        <file>src/settingsview/components/SettingMaterialButton.qml</file>
        <file>src/settingsview/components/ToggleSwitch.qml</file>
        <file>src/settingsview/components/SettingSpinBox.qml</file>
        <file>src/settingsview/components/SettingsComboBox.qml</file>
        <file>src/settingsview/components/SettingsMaterialLineEdit.qml</file>
        <file>src/settingsview/components/LevelMeter.qml</file>
        <file>src/settingsview/components/DeviceItemDelegate.qml</file>
        <file>src/settingsview/components/PluginItemDelegate.qml</file>
        <file>src/settingsview/components/ContactItemDelegate.qml</file>
        <file>src/settingsview/components/MediaCodecDelegate.qml</file>
        <file>src/settingsview/components/NameRegistrationDialog.qml</file>
        <file>src/settingsview/components/LinkDeviceDialog.qml</file>
        <file>src/settingsview/components/RevokeDevicePasswordDialog.qml</file>
        <file>src/wizardview/WizardView.qml</file>
        <file>src/wizardview/components/WelcomePage.qml</file>
        <file>src/wizardview/components/CreateAccountPage.qml</file>
        <file>src/wizardview/components/CreateSIPAccountPage.qml</file>
        <file>src/wizardview/components/ImportFromBackupPage.qml</file>
        <file>src/wizardview/components/BackupKeyPage.qml</file>
        <file>src/wizardview/components/ImportFromDevicePage.qml</file>
        <file>src/wizardview/components/ConnectToAccountManagerPage.qml</file>
        <file>src/wizardview/components/ProfilePage.qml</file>
        <file>src/wizardview/components/AccountCreationStepIndicator.qml</file>
        <file>src/mainview/MainView.qml</file>
        <file>src/mainview/components/PluginHandlerItemDelegate.qml</file>
        <file>src/mainview/components/AboutPopUp.qml</file>
        <file>src/mainview/components/SidePanel.qml</file>
        <file>src/mainview/components/WelcomePage.qml</file>
        <file>src/mainview/components/ChatView.qml</file>
        <file>src/mainview/components/ChatViewHeader.qml</file>
        <file>src/mainview/components/AccountComboBox.qml</file>
        <file>src/mainview/components/CallStackView.qml</file>
        <file>src/mainview/components/InitialCallPage.qml</file>
        <file>src/mainview/components/CallOverlay.qml</file>
        <file>src/mainview/components/ContactSearchBar.qml</file>
        <file>src/mainview/components/OngoingCallPage.qml</file>
        <file>src/mainview/components/ParticipantOverlay.qml</file>
        <file>src/mainview/components/ProjectCreditsScrollView.qml</file>
        <file>src/mainview/components/AccountComboBoxPopup.qml</file>
        <file>src/mainview/components/SidePanelTabBar.qml</file>
        <file>src/mainview/components/WelcomePageQrDialog.qml</file>
        <file>src/mainview/components/ConversationSmartListContextMenu.qml</file>
        <file>src/mainview/components/CallViewContextMenu.qml</file>
        <file>src/mainview/components/UserProfile.qml</file>
        <file>src/mainview/components/SelectScreen.qml</file>
        <file>src/mainview/components/ScreenRubberBand.qml</file>
        <file>src/mainview/components/ContactPicker.qml</file>
        <file>src/mainview/components/PluginHandlerPicker.qml</file>
        <file>src/mainview/components/ContactPickerItemDelegate.qml</file>
        <file>src/mainview/components/RecordBox.qml</file>
        <file>src/mainview/components/SipInputPanel.qml</file>
        <file>src/mainview/components/ParticipantOverlayMenu.qml</file>
        <file>src/mainview/js/selectscreenwindowcreation.js</file>
        <file>src/mainview/js/screenrubberbandcreation.js</file>
        <file>src/mainview/js/contactpickercreation.js</file>
        <file>src/mainview/js/pluginhandlerpickercreation.js</file>
        <file>src/mainview/components/FilterTabButton.qml</file>
        <file>src/mainview/components/AccountItemDelegate.qml</file>
        <file>src/mainview/components/ConversationListView.qml</file>
        <file>src/mainview/components/SmartListItemDelegate.qml</file>
        <file>src/mainview/components/BadgeNotifier.qml</file>
        <file>src/mainview/components/ParticipantsLayer.qml</file>
        <file>src/mainview/components/MainOverlay.qml</file>
        <file>src/mainview/components/CallButtonDelegate.qml</file>
        <file>src/mainview/components/CallActionBar.qml</file>
        <file>src/commoncomponents/HalfPill.qml</file>
        <file>src/commoncomponents/MaterialToolTip.qml</file>
        <file>src/mainview/components/ParticipantCallInStatusDelegate.qml</file>
        <file>src/mainview/components/ParticipantCallInStatusView.qml</file>
        <file>src/settingsview/components/TroubleshootSettings.qml</file>
        <file>src/settingsview/components/LogsView.qml</file>
        <file>src/commoncomponents/contextmenu/ContextMenuAutoLoader.qml</file>
        <file>src/commoncomponents/contextmenu/BaseContextMenu.qml</file>
        <file>src/commoncomponents/contextmenu/GeneralMenuItem.qml</file>
        <file>src/commoncomponents/contextmenu/GeneralMenuSeparator.qml</file>
        <file>src/mainview/components/ParticipantOverlayButton.qml</file>
        <file>src/mainview/components/ParticipantControlLayout.qml</file>
        <file>src/mainview/components/ChatViewFooter.qml</file>
        <file>src/commoncomponents/emojipicker/EmojiPicker.qml</file>
        <file>src/commoncomponents/emojipicker/emojiPickerLoader.js</file>
        <file>src/commoncomponents/emojipicker/emojiPickerLoader.html</file>
        <file>src/commoncomponents/emojipicker/emoji.js</file>
        <file>src/mainview/components/MessageBarTextArea.qml</file>
        <file>src/mainview/components/FilesToSendDelegate.qml</file>
        <file>src/mainview/components/MessageBar.qml</file>
        <file>src/mainview/components/FilesToSendContainer.qml</file>
        <file>src/commoncomponents/Avatar.qml</file>
        <file>src/mainview/components/ConversationAvatar.qml</file>
        <file>src/mainview/components/InvitationView.qml</file>
        <file>src/commoncomponents/GeneralWebEngineView.qml</file>
        <file>src/constant/JamiResources.qml</file>
        <file>src/commoncomponents/BubbleLabel.qml</file>
        <file>src/commoncomponents/BackButton.qml</file>
        <file>src/commoncomponents/JamiSwitch.qml</file>
        <file>src/mainview/components/ReadOnlyFooter.qml</file>
        <file>src/commoncomponents/TextMessageDelegate.qml</file>
        <file>src/mainview/components/MessageListView.qml</file>
        <file>src/commoncomponents/MessageBubble.qml</file>
        <file>src/constant/MsgSeq.qml</file>
        <file>src/commoncomponents/SBSContextMenu.qml</file>
        <file>src/commoncomponents/SBSMessageBase.qml</file>
        <file>src/commoncomponents/ReadStatus.qml</file>
        <file>src/commoncomponents/GeneratedMessageDelegate.qml</file>
        <file>src/commoncomponents/DataTransferMessageDelegate.qml</file>
        <file>src/mainview/components/ScrollToBottomButton.qml</file>
        <file>src/commoncomponents/TypingDots.qml</file>
        <file>src/commoncomponents/JamiScrollBar.qml</file>
        <file>qtquickcontrols2.conf</file>
        <file>src/commoncomponents/JamiFlickable.qml</file>
        <file>src/AccountMigrationView.qml</file>
        <file>src/settingsview/js/logviewwindowcreation.js</file>
        <file>src/mainview/js/keyboardshortcuttablecreation.js</file>
        <file>src/mainview/components/KeyboardShortcutTable.qml</file>
        <file>src/mainview/components/KeyboardShortcutKeyDelegate.qml</file>
        <file>src/mainview/components/KeyboardShortcutTabButton.qml</file>
        <file>src/LayoutManager.qml</file>
    </qresource>
</RCC>