Inline playback breaks completely after attempting to play 7digital streams

Bug #1546963 reported by Paweł Stołowski
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Canonical System Image
Fix Released
Critical
John McAleely
Ubuntu UX
Confirmed
Undecided
Paty Davila
media-hub (Ubuntu)
Fix Released
Critical
Jim Hodapp

Bug Description

Inline playback breaks when trying to play 7digital music streams (using 7digital remote scope) or when trying to play unsupported audio files (such as .m4a). The phone needs to be rebooted to have playback working again for supported content.

Steps to reproduce:

=== 7 digital scope ===
1. Go to 7digital scope
2. Open a preview of album or song.
3. Hit play button in the preview.
--> from now on inline playback doesn't work, dash log reports a lot of "Failed to get current playback position: org.freedesktop.DBus.Error.UnknownMethod: Method "Get" with signature "ss" on interface "org.freedesktop.DBus.Properties" doesn't exist" errors.

Note: 7digital issues seems to be related to an auth issue probably causes by uri encoding - see GST_RESOURCE_ERROR_NOT_AUTHORIZED error in the 7digital-related log files.

=== local music files ===

1. Upload a .m4a file to the Music folder on the phone.
2. Wait a few seconds for mediascanner to process the file, then reboot the phone.
3. Go to My Music Scope -> Tracks department, find your m4a song and tap the Play button on its card.
--> from now on inline playback doesn't work, dash log reports a lot of "Failed to get current playback position: org.freedesktop.DBus.Error.UnknownMethod: Method "Get" with signature "ss" on interface "org.freedesktop.DBus.Properties" doesn't exist" errors.

Note, the reboot in step 2 is neccessary because mediascanner doesn't immediately expose unsupported files to the clients. After reboot they are exposed though.

We need to indicate to the user if content cannot be played (thus subscribing UX to the bug) but first and foremost, we shouldn't fall over broken content and recover gracefully.

Related branches

Revision history for this message
Paweł Stołowski (stolowski) wrote :
Revision history for this message
Paweł Stołowski (stolowski) wrote :
Revision history for this message
Paweł Stołowski (stolowski) wrote :
description: updated
Revision history for this message
James Henstridge (jamesh) wrote :

We include unsupported files in the media index because users will be confused if they upload files to the device and not see anything. And with a future version of mediascanner, it will most likely extract the metadata from these M4A files without issue because it won't hit the codecs at all.

And given that confined apps can ask to play arbitrary files, it doesn't make sense to assume you'll only be given files mediascanner could parse.

Revision history for this message
Paweł Stołowski (stolowski) wrote :

Also adding UX Design as we will need a UI solution for unsupported files (as we didn't want to hide them from the user).

Paty Davila (dizzypaty)
Changed in ubuntu-ux:
assignee: nobody → Paty Davila (dizzypaty)
status: New → Confirmed
Changed in canonical-devices-system-image:
assignee: nobody → Alejandro J. Cura (alecu)
status: New → Confirmed
summary: - Inline playback breaks completely after attempting to play unsupported
- m4a file
+ Inline playback breaks completely after attempting to play 7digital
+ streams or unsupported m4a file
Revision history for this message
Paweł Stołowski (stolowski) wrote : Re: Inline playback breaks completely after attempting to play 7digital streams or unsupported m4a file
description: updated
Revision history for this message
Paweł Stołowski (stolowski) wrote :
Revision history for this message
Albert Astals Cid (aacid) wrote :

As a note about 7digital, one of the urls that fails to play is http://previews.7digital.com/clip/52436409?oauth_nonce=89075411&oauth_timestamp=1456844120&country=ES&oauth_consumer_key=7d7e9ja2evm7&oauth_signature_method=HMAC-SHA1&oauth_version=1.0&oauth_signature=qKhWMOGxmMFByl2ppY/YdQzrMJY%3D

This url is valid, i.e. plays fine in mplayer for example. I'm wondering if the playback for that url doesn't work is caused by the recent encoding changes.

description: updated
description: updated
Revision history for this message
Alejandro J. Cura (alecu) wrote :

We think this is critical because all of inline playback in scopes is rendered unusable until reboot.
Also, this is a regression for any 7digital songs that are shown in the Music scope.

Changed in canonical-devices-system-image:
assignee: Alejandro J. Cura (alecu) → John McAleely (john.mcaleely)
importance: Undecided → Critical
milestone: none → ww08-2016
Changed in media-hub (Ubuntu):
importance: Undecided → Critical
Revision history for this message
Paweł Stołowski (stolowski) wrote :

Playback in Soundcloud scope doesn't work either.

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

The first step in fixing this bug is to fix the regression of percent encoding a non file:// URI in media-hub. media-hub should pass these URIs straight through unmodified.

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

These are really two different bugs. The first one is to fix the regression of percent encoding every URI. The second one is to make media-hub handle files that it can't play for various reasons (e.g. unsupported codec type). I'll be addressing the former. The latter needs to be split into a separate bug.

Changed in media-hub (Ubuntu):
status: Triaged → In Progress
Changed in canonical-devices-system-image:
status: Confirmed → In Progress
Jim Hodapp (jhodapp)
summary: Inline playback breaks completely after attempting to play 7digital
- streams or unsupported m4a file
+ streams
Jim Hodapp (jhodapp)
Changed in media-hub (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package media-hub - 4.1.0+16.04.20160307.1-0ubuntu1

---------------
media-hub (4.1.0+16.04.20160307.1-0ubuntu1) xenial; urgency=medium

  * Only call encode_uri() for local files, pass everything else
    straight through unmodified. (LP: #1546963)

 -- Jim Hodapp <email address hidden> Mon, 07 Mar 2016 21:07:12 +0000

Changed in media-hub (Ubuntu):
status: Fix Committed → Fix Released
Changed in canonical-devices-system-image:
status: In Progress → Fix Committed
Changed in canonical-devices-system-image:
status: Fix Committed → Fix Released
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.