Opened 13 years ago

Closed 13 years ago

#9301 closed Patch - Feature (Fixed)

Flash player integration for MythNetvision

Reported by: Jonatan <mythtv@…> Owned by: robertm
Priority: minor Milestone: unknown
Component: Plugin - MythNetvision Version: Master Head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

The attached patches adds playback control of Flash players that have a JavaScript? API. Players lacking a JavaScript? API should be possible to support by sending QMouseEvents, as long as 'wmode' is set to 'opaque' to prevent the Flash player from stealing focus.

Supported sites are Vimeo and Youtube. Adding support for other sites involves creating a HTML file that wraps the respective Flash player's JavaScript? API, and an update to the grabber to use the MythXML method, and replace mythflash:// with http:// in the URLs.

  • mythuiwebbrowser.patch: Adds an evaluateJavaScript(const QString& src) method.

It also adds a call to m_browser->hide() in the destructor. This seems to properly return focus back to the main UI which in some cases were lost.

  • mythbackend.patch: Adds a new MythXML method GetInternetContent? that returns a HTML page for a specific grabber and video ID. Using file:// did not seem to work with the HTML files added/modified in scripts.patch.
  • scripts.patch: Adds a method to construct an URL for the GetInternetContent? method added above. The patch also adapts the Vimeo and Youtube grabbers to use this method, and also modifies/adds HTML files that use the respective site's JavaScript? API.
  • mythbrowser.patch: Adds a new class MythFlashPlayer? that evaluates JavaScript? in order to control video playback. Current available controls are play, pause, and seek.

This class is used whenever a URL starts with mythflash://.

  • mythflash.patch: All of the above patches.

Attachments (7)

mythuiwebbrowser.patch (1.3 KB) - added by Jonatan <mythtv@…> 13 years ago.
mythbackend.patch (3.0 KB) - added by Jonatan <mythtv@…> 13 years ago.
scripts.2.patch (17.1 KB) - added by Jonatan <mythtv@…> 13 years ago.
mythbrowser.patch (6.0 KB) - added by Jonatan <mythtv@…> 13 years ago.
mythflash.patch (27.5 KB) - added by Jonatan <mythtv@…> 13 years ago.
scripts-volume+tree.patch (19.7 KB) - added by Jonatan <mythtv@…> 13 years ago.
mythbrowser-volume.patch (725 bytes) - added by Jonatan <mythtv@…> 13 years ago.

Download all attachments as: .zip

Change History (12)

Changed 13 years ago by Jonatan <mythtv@…>

Attachment: mythuiwebbrowser.patch added

Changed 13 years ago by Jonatan <mythtv@…>

Attachment: mythbackend.patch added

Changed 13 years ago by Jonatan <mythtv@…>

Attachment: scripts.2.patch added

Changed 13 years ago by Jonatan <mythtv@…>

Attachment: mythbrowser.patch added

Changed 13 years ago by Jonatan <mythtv@…>

Attachment: mythflash.patch added

comment:1 Changed 13 years ago by robertm

Owner: set to robertm
Status: newassigned

I need Paul/Stuart? to look at the libmythui/mythbrowser parts of this, but fantastic work so far. Great, great addition. MNV parts look fine to me.

comment:2 Changed 13 years ago by robertm

Component: MythTV - GeneralPlugin - MythNetvision

Tested and working well here. Jonatan, it might be worth adding an API to control volume (up, down, mute) before we commit this.

comment:3 Changed 13 years ago by robertm

Also, Jonatan, it looks like the scripts aren't returning mythflash URLs for -T (tree mode). This would be nice to fix before committing the MNV parts.

Changed 13 years ago by Jonatan <mythtv@…>

Attachment: scripts-volume+tree.patch added

Changed 13 years ago by Jonatan <mythtv@…>

Attachment: mythbrowser-volume.patch added

comment:5 Changed 13 years ago by robertm

Resolution: Fixed
Status: assignedclosed

Fixed in a number of subsequent commits.

Note: See TracTickets for help on using tickets.