Developers Downloads Licenses Products Help helix-client
Home Page SummaryForumsBugsListsNewsCVS
 
1 Windows Media Integration Project Overview

[History]  

From Helix Community

Jump to: navigation, search
Windows Media Integration Group



Last updated: 2006-11-28

Table of Contents

  1. Windows Media Integration Project Overview
  2. Windows Media Integration Features
  3. Windows Media Code Organization
  4. Windows Media Integration Documentation
  5. How to participate

Contents

1 Windows Media Integration Project Overview

Windows media integration group is tasked with itegrating Windows Media licensed technology into Helix DNA Client. The integration has the goal of delivering an intermediate product as plugins to Helix DNA Client that enables windows media playback and transcoding of windows media datatype.

  • Start Date: 04 Nov 2005
  • End Date: 15 Dec 2006
  • Status: Implementation in-progress
    • Completed:
      • WM A/V, local and streaming support on windows using WMFSDK
      • Cross platform Helix plugins built and verified using Helix abstractions around WMFSDK
      • Cross platform ASF File format implementation
      • Cross-platform WMA, WMV local and HTTP playback
      • WMA, WMV representative content test-suite verified on Cross-platform implementation
      • WM streaming protocol (RTSP) integration
      • WM streaming protocol (RTSP) testing
      • General Helix DRM API design and integration
      • Cross platform WM DRM playback integration
      • ASX file format support
      • ASX file format support testing
      • ASX renderer integration
      • ASX renderer testing
    • Current Activity:
      • WMDRM-PD HTTP Licensing Agent
    • Work remaining:
      • WMDRM-PD HTTP Licensing Agent testing
  • Responsible Engineers:
    • Eric Hyche
    • Sheldon Fu
  • Project Manager: Milko Boic

2 Windows media integration features

  • WMFSDK binary integration on Windows
  • WM-Audio decoder components integration on all platforms
  • WM-Video decoder components integration on all platforms
  • WM-RTSP protocol component integration for all platforms
  • WMDRM-PD component integration (playback and HTTP licensing support)
  • ASF file format component integration for all platforms
  • ASX file format support for all platforms
  • DRM extensibility to arbitrary number of DRM solutions

The following features within each functional area are currently NOT supported. Some of these features may be supported at some time in the future, but exact plans and/or dates for this support have not yet been determined.

  • ASF File Format:
    • Script Command, JPEG, File Transfer, or Binary Media Stream Types. These can be parsed but not played. Files containing these stream types will successfully play the other audio or video stream types.
    • Markers. The ASF Marker object will be parsed, but seeking to specific markers within the ASF file is not supported.
  • ASX File Format. All of the following elements are parsed correctly but support for them is not implemented.
    • BANNER elements
    • LOGURL elements
    • EVENT elements
    • REPEAT elements
  • Windows Media Video. The following Windows Media video codecs are not supported:
    • Windows Media Video 9 Screen
    • Windows Media Video 9 Image
    • Windows Media Video 9 Image v2
  • Windows Media Protocols. The following protocol-related features are not supported:
    • Server-side playlists
    • Windows Media extensions to HTTP 1.0 and 1.1 Playback from a non-WM HTTP server (such as Apache) is fully supported.

3 Code Organization and Building Instructions

The Windows Media code is divided into several parts:

  • ASF file format code. This is the code which parses an ASF file (delivered as either a local file or via the HTTP filesystem) and produces packets which are individual WM audio and/or video samples. This module is found in the datatype project under datatype/wm/fileformat.
  • WMA rendering code. This code takes WMA samples from the ASF file format and delivers them to the WMA codec. After receiving the decoded PCM data from the WMA codec, it passes the decoded PCM audio data to audio services. This code can be found in the datatype project under datatype/wm/audio/renderer.
  • WMV rendering code. This code takes WMV samples from the ASF file format and delivers them to the WMV codec. After decoding, the renderer blts the decoded frame to the video surface. This code can be found in the datatype project under datatype/wm/video/renderer.
  • ASX parsing code. This code parses an ASX file and queues the clips that are listed therein. This code can be found in the datatype project under datatype/wm/asx.
  • WMA decoder. This code is broken into two parts:
    • Codec entrypoints - this is located in datatype/wm/audio/codec/wma9
    • Actual codec library - this can be obtained in either source or binary form. To access either the source or binaries, please send email to open-licensing@helixcommunity.org. The source can be found in the wmcode-audio project repository, while the binaries are in the wmaudio-dist project repository.
  • WMV decoder. This code is broken into two parts:
    • Codec entrypoints - this is located in datatype/wm/video/codec/wmv9
    • Actual codec library - this can be obtained in either source or binary form. To access either the source or binaries, please send email to open-licensing@helixcommunity.org. The source for the WMV decoder can be found in the wmcode-video project repository, while the binary can be found in the wmvideo-dist project repository.
  • WM RTSP Library. The WM RTSP libary is implemented as a file format plugin. The file format plugin in datatype/wm/fileformat creates either a file-based fileformat plugin (found in datatype/wm/fileformat/asf_file_format_file.cpp) or it creates the WM-RTSP fileformat plugin found in this library. This library may be obtained in either source or binary form. To gain access to either source or binary, please send email to open-licensing@helixcommunity.org. The source for the WM-RTSP library can be found in the wmcode-protocol project repository, while the binaries of this library can be found in the wmprotocol-dist project repository.

Once you have obtained the proper licenses, these instructions may be followed to build the Windows Media Plugins. These instructions assume you have already followed all the initial CVS and build system setup instructions found in the Quick Start Guide.

  1. If you will be linking against the binary distribution libraries, then add these lines to your .buildrc file:
AddCVS("wmaudiodist", ":ext:user@cvs.helixcommunity.org:/cvsroot/wmaudio-dist")
AddCVS("wmvideodist", ":ext:ehyche@cvs.helixcommunity.org:/cvsroot/wmvideo-dist")
AddCVS("wmprotocoldist", ":ext:ehyche@cvs.helixcommunity.org:/cvsroot/wmprotocol-dist")

but replace "user" in the above string with your helixcommunity.org username.

  1. To build all the plugins from source, do the following build:
    • BIF: helix.bif or hxclient_1_5_0_cayenne.bif
    • target: all_wm_plugins
    • BIF: helix-client-all-defines

(helix.bif represents the CVS HEAD and contains WMA, WMV, and WM-RTSP. hxclient_1_5_0_cayenne.bif is the hxclient_1_5_0_cayenne branch and contains only WMA and WMV.)

  1. To build all the plugins and link against binary distribution libraries, do the following build:
    • BIF: helix.bif or hxclient_1_5_0_cayenne.bif
    • target: all_wm_plugins_from_dist
    • BIF: helix-client-all-defines

(helix.bif represents the CVS HEAD and contains WMA, WMV, and WM-RTSP. hxclient_1_5_0_cayenne.bif is the hxclient_1_5_0_cayenne branch and contains only WMA and WMV.)

  1. The following plugins should be copied to your player's plugin directory:
    • asfff.dll (or asfff.so) - the ASF file format plugin
    • asxff.dll (or asxff.so) - the ASX file format plugin
    • asxrender.dll (or asxrender.so) - the ASX renderer plugin
    • wmarender.dll (or wmarender.so) - the WMA renderer plugin
    • wmvrender.dll (or wmvrender.so) - the WMV renderer plugin
    • asxff.dll (or asxff.so) - the ASX file format plugin
    • asxrender.dll (or asxrender.so) - the ASX renderer plugin
  2. The following plugins should be copied to your player's codec directory:
    • wma9.dll (or wma9.so) - the WMA decoder
    • wmv9.dll (or wmv9.so) - the WMV decoder

4 Windows Media Integration Documentation

5 How to participate

We encourage participation of developers interested in Windows Media integration into Helix DNA Client. We are still working on addressing the licensing requirements for the participants.

If you have interest in this project, please ontact the project manager for Atlas with your list of objectives, planned contributions and your windows media licensing status. You may also choose to get involved informally on the mailing lists.

Mailing Lists:



This page was last modified 03:05, 25 February 2008.This page has been accessed 6,239 times.
 

Site Map   |   Terms of Use   |   Privacy Policy   |   About Us   |   Contact Us

We have performed maintenance on Helix Community that turned off deprecated accounts. To re-apply for access, please contact licensing@helixcommunity.org

Copyright © 1995-2014 RealNetworks, Inc. All rights reserved. RealNetworks and Helix are trademarks of RealNetworks.
All other trademarks or registered trademarks are the property of their respective holders.