CMP Framework

From AwkwardTV
Jump to: navigation, search

The Common Media Player is a framework that is a joint effort between Graham Booker (Perian/Sapphire dev) and Kevin Bradley (NitoTV_Take_2 dev). This framework at its first iteration is going to solely focus on DVDPlayback, but will be extended in the future. This framework ushers in a much better playback experience for DVDPlayback in nitoTV, overlays, playheads, much improved control scheme (no more control maps!) It is also introducing full 5.1 AC-3/DTS passthrough! At long last, you read that right! :). Some initial blog posts by Kevin and Graham are also available with screenshots and other information.

DVD Playback

DVD Playback takes the full screen for its playback. Controls and information is overlaid on top of the playback itself. The controls work as follows: Up/Down changes the display/control mode. The modes are currently laid out in the following manner:

  • Zoom Mode
  • Subtitles/Audio Mode
  • Normal Playback Mode
  • Chapter Mode

Up will advance to the previous item in the above list, and down will advance to the next. Going past the top or bottom of the list returns to normal playback mode. If no action is taken in the next 10 seconds, it will return to the normal playback mode and overlays will disappear. The Menu button will enter the Playback Menu. In addition, when resuming playback, the Playback Menu will also be initially displayed.

Normal Playback Mode

In this Mode, the current playback status is displayed in the upper left corner for 3 seconds. While playing, the Right button will enter Fast Forward, while the Left button will enter Rewind. The Play/Pause button will Pause the playback. While Fast Forwarding, the Right button will increase the Fast Forward speed, and Left will decrease it. Ranges are 1/8x to 32x. The Play/Pause button will resume normal playback. While Fast Forwarding, the Left button will increase the Rewind speed, and Right will decrease it. Ranges are 1/8x to 32x. The Play/Pause button will resume normal playback. While Paused, the Right button will advance to the next frame. The Play/Pause button will resume normal playback.

Zoom Mode

In this mode, the current zoom will be displayed in the upper right corner. The Right button changes the image zoom. The zoom loops between 1x, 4/3x, and 2x. The 4/3x will stretch a full frame image to the width of a wide screen display. This is particularly useful for widescreen images encoded in a full frame image with black bars on the top and bottom.

Subtitles/Audio Mode

In this mode, the subtitles will be displayed in the upper left corner and the audio in the upper right. The Left button will change the currently displayed Subtitles. None will signify there is no subtitles available. The Right button will change the audio stream. The audio stream format is displayed with the channel count, format, language, and sample rate.

Chapter Mode

In this mode, the current chapter is displayed in the upper left corner The Left button will go to the previous chapter. The Right button will go to the next chapter.

Playback Menu

The playback menu displays a blurred image from the DVD in the background along with 3 options. The Menu button will exit DVD playback.

Known Limitations

  • The DTS passthrough does not function after pausing. Switching audio tracks or changing chapters resolves this issue
  • Occasionally, DVD playback will start without AC3/DTS passthrough or any audio of any kind. Pause playback and resume to resolve this.
  • Passthrough prevents playback of PCM audio in DVDs. Unfortunately, PCM audio cannot be detecting until after the playback has begun, and the passthrough setting must be set before playback starts. If you are playing a DVD with PCM audio, disable passthrough before playing.
  • If you change the TV resolution, the DVD playback may incorrectly detect the screen size. Restarting the interface (Finder) resolves this.
  • When stepping, there is no backwards step. This is a limitation of the DVD Framework.
  • Sometimes after initial installation of the framework and passthrough component, passthrough does not function properly right away. A finder restart should fix this as well