Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Create 'headless' and UI versions of MythPlayer #264

@mark-kendall

Description

@mark-kendall

MythPlayer in its current form has a variety of different uses - which significantly complicate the code.

There are 3 classes that are used for playback from the UI:

  • MythPlayer (base)
  • MythDVDPlayer (for DVDs) (subclasses MythPlayer)
  • MythBDPlayer (for BDs) (subclasses MythPlayer)

Other non-ui/headless operation:

  • MythCCExtractorPlayer (subclasses MythPlayer)
  • MythCommflagPlayer (subclasses MythPlayer)

The MythPlayer base class is also then used for other headless operations:

  • preview generation (which requires DVD as well - but not BD)
  • transcode (no DVD or BD)

When used for non-ui purposes, MythPlayer is run manually (i.e. setup, seek, get frame etc). There is no need for a playback loop, reference to MythDisplay for refresh rate tracking, OSD, deinterlacing, editing etc.

The intention is to create MythPlayerUI as a new class for playback from the main UI. MythPlayer will be paired down to the bare essentials required for headless, manual operation. Various mixin classes will then be used to create the appropriate player for the each use case.

So MythPlayerUI would sub-class MythPlayer as well as functionality required for OSD etc as well as BD/DVD support as needed.

A simple class derivation is complicated mostly by the preview generation code - which requires DVD functionality.

Refs #262 #263

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

In progress

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions