Port to upstreamed versions of Audio Role patch

Bug #1493851 reported by Timo Jyrinki
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu Clock App
Fix Released
High
Michael Zanetti
dropping-letters (Ubuntu)
Fix Released
Undecided
Unassigned
media-hub (Ubuntu)
Incomplete
Undecided
Jim Hodapp
pulseaudio (Ubuntu)
Won't Fix
Undecided
David Henningsson
qtubuntu-camera (Ubuntu)
Fix Released
High
Timo Jyrinki
qtubuntu-media (Ubuntu)
Fix Released
High
Timo Jyrinki
telephony-service (Ubuntu)
Fix Released
Undecided
Gustavo Pichorim Boiko
ubuntu-clock-app (Ubuntu)
Fix Released
Undecided
Unassigned
unity8 (Ubuntu)
Fix Released
High
Unassigned

Bug Description

The Qt 5.5 packages at https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/landing-012 now include the upstream versions of QML Playlist and Audio Role patches that went in to Qt 5.6.

There are some differences in the Audio Role patch compared to the version on vivid-overlay PPA that requires changes.

Qt 5.5 targets landing soon after xenial opens.

For reference,
Old API: http://anonscm.debian.org/cgit/pkg-kde/qt/qtmultimedia.git/diff/debian/patches/adding_media_role_property.patch?h=ubuntu&id=d5149eefcd093d96be3191d5f8a7f622f788e1f4
New, upstreamed API: http://anonscm.debian.org/cgit/pkg-kde/qt/qtmultimedia.git/tree/debian/patches/Add-audio-role-API-to-QMediaPlayer.patch?h=ubuntu

More information about Qt 5.5 at https://wiki.ubuntu.com/Touch/QtTesting

The plan (2015-11-02):

Patch some components to work with both old API & Qt 5.4 + new API & Qt 5.5 - qtubuntu-camera, qtubuntu-media to detect at compile time and Unity 8 at runtime.

Pulseaudio and media-hub would land only to xenial, switching to the new API as part of the Qt 5.5 silo.

Clock and dropping-letters drop the audio role usage as it's not supposed to be used in those.

Related branches

Changed in media-hub (Ubuntu):
importance: Undecided → Medium
summary: - Port to upstreamed versions of QML Playlist and Audio Role
+ Port to upstreamed versions of Audio Role patch
Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

These are the build logs of qtubuntu-media against the new Qt 5.5 (+ patches) in 012:

https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/landing-012/+sourcepub/5379430/+listing-archive-extra

"error: 'QMediaPlayer::AudioRole' has not been declared"

Revision history for this message
Jim Hodapp (jhodapp) wrote :

This change affects qtubuntu-media and I would expect it to not compile without updates to reflect the upstream changes to the audio role patch that was already previously submitted.

description: updated
affects: media-hub (Ubuntu) → qtubuntu-media (Ubuntu)
Changed in qtubuntu-media (Ubuntu):
importance: Medium → High
Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

This would seem to affect Unity 8 too, and is currently blocking starting up Unity 8 on Qt 5.5 (after hacking around a few other problems):

file:///usr/share/unity8//OrientedShell.qml:147:5: Type Shell unavailable
         Shell {
         ^
file:///usr/share/unity8//Shell.qml:635:9: Type Notifications unavailable
             Notifications {
             ^
file:///usr/share/unity8//Notifications/Notifications.qml:47:15: Type Notification unavailable
         delegate: Notification {
                   ^
file:///usr/share/unity8//Notifications/Notification.qml:85:9: "Audio.audioRole" is not available in QtMultimedia 5.0.
             audioRole: MediaPlayer.alert
             ^

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

The upstreamed version is at http://anonscm.debian.org/cgit/pkg-kde/qt/qtmultimedia.git/tree/debian/patches/Add-audio-role-API-to-QMediaPlayer.patch?h=ubuntu

So for example s/audioRole/Role/ under Audio, and different MediaPlayer.* roletypes.

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

Qt Ubuntu Media builds and seems to run with the MP now attached to this bug report.

The Unity 8 starts if I comment out the two offending lines from Notifications/Notification.qml + Components/ScreenGrabber.qml

For some reason I was not able to figure out how they should be changed immediately to set the role without getting some QML error. I changed the backported qtmultimedia patch a bit to state 5.5 - https://launchpadlibrarian.net/220262357/qtmultimedia-opensource-src_5.5.0-3ubuntu1~wily1~test4_5.5.0-3ubuntu1~wily1~test5.diff.gz - and I changed the Unity 8's qml files to import QtMultimedia 5.5 instead of 5.0.

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

For Unity 8, I tried Role: MediaPlayer.NotificationRole which seemed the closest match.

Changed in qtubuntu-media (Ubuntu):
status: New → In Progress
Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

Also needed is qtubuntu-camera.

Changed in unity8 (Ubuntu):
importance: Undecided → High
Changed in qtubuntu-camera (Ubuntu):
importance: Undecided → High
Changed in qtubuntu-camera (Ubuntu):
status: New → In Progress
Changed in qtubuntu-camera (Ubuntu):
assignee: nobody → Timo Jyrinki (timo-jyrinki)
Changed in qtubuntu-media (Ubuntu):
assignee: nobody → Timo Jyrinki (timo-jyrinki)
Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

Regarding the Unity 8's audioRole usage from QML:

---
    Component {
        name: "QDeclarativeAudio"
        prototype: "QObject"
        exports: ["QtMultimedia/Audio 5.0", "QtMultimedia/MediaPlayer 5.0"]
        exportMetaObjectRevisions: [0, 0]
...
 Property { name: "audioRole"; revision: 1; type: "AudioRole" }
---

So I guess it should be available with audioRole = MediaPlayer.NotificationRole (and Audio.NotificationRole) but the Audio.audioRole is being blocked because it's marked as revision: 1? Could someone have tell the proper way to use it, since it seems I wasn't able to guess correctly?

Michał Sawicz (saviq)
Changed in unity8 (Ubuntu):
status: New → Triaged
assignee: nobody → Albert Astals Cid (aacid)
Revision history for this message
Jim Hodapp (jhodapp) wrote :

I'm not sure I understand why it's blocked because of revision 1? I'm not familiar enough with how the declarative object exporting works in regard to revisions. Is it blocked because it's exporting as revision 1 of the parent object, which is QDeclarativeAudio?

description: updated
description: updated
Changed in ubuntu-clock-app:
status: New → In Progress
importance: Undecided → High
assignee: nobody → Michael Zanetti (mzanetti)
Changed in unity8 (Ubuntu):
status: Triaged → In Progress
Changed in pulseaudio (Ubuntu):
assignee: nobody → David Henningsson (diwic)
Changed in media-hub (Ubuntu):
assignee: nobody → Jim Hodapp (jhodapp)
Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

Assigned pulseaudio part to David with a tip from Jim. We at least to know if pulseaudio needs to be changed for this or not.

description: updated
description: updated
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity8 - 8.11+16.04.20151104-0ubuntu1

---------------
unity8 (8.11+16.04.20151104-0ubuntu1) xenial; urgency=medium

  [ Albert Astals Cid ]
  * Add an Item that proxies for old and new audio roles (LP: #1493851)
  * CroppedImageMinimumSourceSize: Fix 'Binding loop detected for
    property "imageAspectRatio"'
  * Make the scope settings list scroll to text visible area (LP:
    #1499084)
  * Move to importing QtQuick 2.4 & friends
  * Use SDK 1.3 across all files (LP: #1503498, #1508363, #1449628)

  [ Andrea Cimitan ]
  * Add sharing widget to zoomable image and video playback
  * Make zoomable and video playback widgets edge to edge
  * Updated all 1.3 UbuntuShape to use new APIs where possible
  * Use SDK 1.3 across all files (LP: #1503498, #1508363, #1449628)

  [ CI Train Bot ]
  * Resync trunk.

  [ Christopher Lee ]
  * Quick spelling fix in process control output.

  [ Daniel d'Andrada ]
  * Enable support for overriding application orientations based on
    device type (LP: #1478637)
  * Use SDK 1.3 across all files (LP: #1503498, #1508363, #1449628)
  * Use SDK 1.3 across all files (LP: #1503498, #1508363, #1449628)

  [ Josh Arenson ]
  * Enable support for overriding application orientations based on
    device type (LP: #1478637)

  [ Michael Terry ]
  * Avoid showing the shutdown dialog when turning on the screen if your
    device is under heavy load. (LP: #1508563)
  * Handle lifecycle policy exceptions ourselves, instead of letting
    qtmir do it for us and allow non-Touch apps to opt-out of the Touch
    lifecycle.

  [ Michael Zanetti ]
  * Fixes for the panel buttons (LP: #1510360, #1504269, #1431566,
    #1443319)
  * Use SDK 1.3 across all files (LP: #1503498, #1508363, #1449628)

  [ Michał Sawicz ]
  * Add missing copyright to Cursor.qml
  * Enable support for overriding application orientations based on
    device type (LP: #1478637)
  * Support server->client visibility change to stop rendering
    (lp:#1475678) (LP: #1475678)

  [ Nick Dedekind ]
  * Support server->client visibility change to stop rendering
    (lp:#1475678) (LP: #1475678)

 -- Michał Sawicz <email address hidden> Wed, 04 Nov 2015 14:58:41 +0000

Changed in unity8 (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Jenkins Bot (ubuntu-core-apps-jenkins-bot) wrote :

Fix committed into lp:ubuntu-clock-app at revision 411, scheduled for release in ubuntu-clock-app, milestone 3.7

Changed in ubuntu-clock-app:
status: In Progress → Fix Committed
Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

There doesn't seem to be anything explicitly off even without updating media-hub and pulseaudio, so therefore marking them as needing more information. Do they need to be patched and if, how?

Changed in media-hub (Ubuntu):
status: New → Incomplete
Changed in pulseaudio (Ubuntu):
status: New → Incomplete
Revision history for this message
Jim Hodapp (jhodapp) wrote :

I'm currently in process of emailing with mpt about how we should handle this for media-hub and pulseaudio. I just sent this out yesterday, so I don't know his thoughts on this quite yet.

Changed in dropping-letters (Ubuntu):
status: New → Fix Committed
Changed in ubuntu-clock-app (Ubuntu):
status: New → Fix Committed
Changed in qtubuntu-camera (Ubuntu):
status: In Progress → Fix Committed
Changed in ubuntu-clock-app:
status: Fix Committed → Fix Released
Changed in ubuntu-clock-app (Ubuntu):
status: Fix Committed → Fix Released
Changed in telephony-service (Ubuntu):
assignee: nobody → Gustavo Pichorim Boiko (boiko)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package qtubuntu-camera - 0.3.3+16.04.20151202.1-0ubuntu1

---------------
qtubuntu-camera (0.3.3+16.04.20151202.1-0ubuntu1) xenial; urgency=medium

  [ Florian Boucault ]
  * New release: Support the new AudioRole API in addition to the old
    (LP: #1493851) (LP: #1450346) Make it possible to set resolution at
    application startup by not Don't reset the zoom level when only
    switching recording mode. Allow disabling shutter sound via the
    running process having set a QSettings key. Query the supported
    flash modes directly from Android instead of hardcoding them. Enable
    zoom when in video recording mode, if supported by hardware. Ensure
    the flash is correctly set on recording mode switch added:
    .qmake.conf (LP: #1450346, #1493851)

  [ Timo Jyrinki ]
  * New release: Support the new AudioRole API in addition to the old
    (LP: #1493851) (LP: #1450346) Make it possible to set resolution at
    application startup by not Don't reset the zoom level when only
    switching recording mode. Allow disabling shutter sound via the
    running process having set a QSettings key. Query the supported
    flash modes directly from Android instead of hardcoding them. Enable
    zoom when in video recording mode, if supported by hardware. Ensure
    the flash is correctly set on recording mode switch added:
    .qmake.conf (LP: #1450346, #1493851)

  [ Ugo Riboni ]
  * New release: Support the new AudioRole API in addition to the old
    (LP: #1493851) (LP: #1450346) Make it possible to set resolution at
    application startup by not Don't reset the zoom level when only
    switching recording mode. Allow disabling shutter sound via the
    running process having set a QSettings key. Query the supported
    flash modes directly from Android instead of hardcoding them. Enable
    zoom when in video recording mode, if supported by hardware. Ensure
    the flash is correctly set on recording mode switch added:
    .qmake.conf (LP: #1450346, #1493851)

 -- Florian Boucault <email address hidden> Wed, 02 Dec 2015 10:41:30 +0000

Changed in qtubuntu-camera (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package telephony-service - 0.1+16.04.20151207-0ubuntu1

---------------
telephony-service (0.1+16.04.20151207-0ubuntu1) xenial; urgency=medium

  [ CI Train Bot ]
  * New rebuild forced.
  * Resync trunk. added: po/be.po

  [ Tiago Salem Herrmann ]
  * Fill notifications with attachments info when no text is received.
    (LP: #1517654)
  * Improve notifications on multi-sim devices. (LP: #1487528, #1460301)

 -- Tiago Salem Herrmann <email address hidden> Mon, 07 Dec 2015 17:55:49 +0000

Changed in telephony-service (Ubuntu):
status: New → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package qtubuntu-media - 0.7.1+16.04.20151104.1-0ubuntu1

---------------
qtubuntu-media (0.7.1+16.04.20151104.1-0ubuntu1) xenial; urgency=medium

  [ Timo Jyrinki ]
  * Port to the new Audio Role API (LP: #1493851) (LP: #1493851)

 -- CI Train Bot <email address hidden> Wed, 04 Nov 2015 08:31:35 +0000

Changed in qtubuntu-media (Ubuntu):
status: In Progress → Fix Released
Changed in dropping-letters (Ubuntu):
status: Fix Committed → Fix Released
tags: added: pulse-touch
Changed in unity8 (Ubuntu):
assignee: Albert Astals Cid (aacid) → nobody
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Ubuntu Touch is no longer supported.

Changed in pulseaudio (Ubuntu):
status: Incomplete → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.