Opened 16 years ago

Closed 15 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@…> 16 years ago.
mythbackend.patch (3.0 KB ) - added by Jonatan <mythtv@…> 16 years ago.
scripts.2.patch (17.1 KB ) - added by Jonatan <mythtv@…> 16 years ago.
mythbrowser.patch (6.0 KB ) - added by Jonatan <mythtv@…> 16 years ago.
mythflash.patch (27.5 KB ) - added by Jonatan <mythtv@…> 16 years ago.
scripts-volume+tree.patch (19.7 KB ) - added by Jonatan <mythtv@…> 15 years ago.
mythbrowser-volume.patch (725 bytes ) - added by Jonatan <mythtv@…> 15 years ago.

Download all attachments as: .zip

Change History (12)

by Jonatan <mythtv@…>, 16 years ago

Attachment: mythuiwebbrowser.patch added

by Jonatan <mythtv@…>, 16 years ago

Attachment: mythbackend.patch added

by Jonatan <mythtv@…>, 16 years ago

Attachment: scripts.2.patch added

by Jonatan <mythtv@…>, 16 years ago

Attachment: mythbrowser.patch added

by Jonatan <mythtv@…>, 16 years ago

Attachment: mythflash.patch added

comment:1 by robertm, 16 years ago

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 by robertm, 16 years ago

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 by robertm, 16 years ago

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.

by Jonatan <mythtv@…>, 15 years ago

Attachment: scripts-volume+tree.patch added

by Jonatan <mythtv@…>, 15 years ago

Attachment: mythbrowser-volume.patch added

comment:5 by robertm, 15 years ago

Resolution: Fixed
Status: assignedclosed

Fixed in a number of subsequent commits.

Note: See TracTickets for help on using tickets.