Modify
Warning Please read the Ticket HowTo before creating or commenting on a ticket. Failure to do so may cause your ticket to be rejected or result in a slower response.

Opened 3 years ago

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

Download all attachments as: .zip

Change History (12)

Changed 3 years ago by Jonatan <mythtv@…>

Changed 3 years ago by Jonatan <mythtv@…>

Changed 3 years ago by Jonatan <mythtv@…>

Changed 3 years ago by Jonatan <mythtv@…>

Changed 3 years ago by Jonatan <mythtv@…>

comment:1 Changed 3 years ago by robertm

  • Owner set to robertm
  • Status changed from new to assigned

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

  • Component changed from MythTV - General to Plugin - 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 3 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 3 years ago by Jonatan <mythtv@…>

Changed 3 years ago by Jonatan <mythtv@…>

comment:5 Changed 3 years ago by robertm

  • Resolution set to Fixed
  • Status changed from assigned to closed

Fixed in a number of subsequent commits.

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'new'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.