DirectShow OS Design Development (Windows CE 5.0)

Send Feedback

DirectShow for Microsoft® Windows® CE is an architecture for streaming media.

Microsoft DirectShow® provides high-quality playback of multimedia streams. It supports a variety of formats, including the following:

  • Advanced Streaming Format (ASF)
  • Motion Picture Experts Group (MPEG)
  • Audio-Video Interleaved (AVI)
  • MPEG Audio Layer-3 (MP3)
  • WAV

DirectShow is integrated with other Microsoft DirectX® technologies.

It detects and uses video and audio acceleration hardware when available, but also supports systems without acceleration hardware.

DirectShow provides an OS design with the underlying infrastructure to support the capabilities of DirectShow.

It does not provide media codecs or filter graphs to support playback of media.

The DirectShow Audio and DirectShow Video Catalog items provide the codecs and rendering support for playback.

OS Design Information

The following table shows operating system design information for DirectShow.

Concept Description
Dependencies Requires DirectDraw.

Requires Urlmon for OS designs without full browser support.

Hardware considerations None.

DirectShow simplifies media playback and format conversion. It also provides access to the underlying stream control architecture for applications that require custom solutions. You can also create your own DirectShow components to support new formats or custom effects.

Examples of the types of applications you can write with DirectShow include

  • DVD players
  • video editing applications
  • AVI to ASF converters
  • MP3 players

DirectShow is based on the Component Object Model (COM). To write a DirectShow application, you must understand COM client programming.

For most applications, you do not need to implement your own COM objects. DirectShow provides the components you need.

However, to extend DirectShow by writing your own components, you must implement them as COM objects.

Modules and Components

The following table components and modules implement DirectShow.

Item Module Component
DirectShow URL Reader urlrdr urlmon
Multimedia streaming support amstream amstream
Video compression manager support icm icm
Fraunhofer MP3 codec support l3codec l3filter
ACM driver used by DirectShow msacmce msacmce
Microsoft ADPCM audio codec support msadpcm msadpcm
G.711 audio codec support msg711 msg711
GSM 6.10 audio codec support msgsm610 msgsm610
RLE8 video codec support msrle32 msrle32
A PCM bit/sample rate ACM conversion codec pcmconv pcmconv
DirectShow core functionality quartz quartz
A windowless video control vrctl vrctl
Microsoft Windows Media® audio support wmadmod wmadmod
Windows Media Audio 9 Voice support wmsdmod wmsdmod
Windows Media video support v7-v9, MPEG4 v2, MPEG4 v3, ISO MPEG4 v1 wmvdmod wmvdmod

To use the URL Reader module of DirectShow urlrdr in an OS design that does not have full browser support, the OS design must contain the Microsoft Internet Explorer urlmon component.

If you are creating your OS design from the command line, be sure the urlmon component is included in the IE_MODULES setting in Cesysgen.bat. This dependency is handled automatically for OS designs created using the Microsoft Platform Builder IDE.

Implementation Considerations

The following table shows the relevant Sysgen variables.

Sysgen variable Description
SYSGEN_DSHOW DirectShow Core
SYSGEN_DSHOW_ACMWRAP ACM Wrapper Filter
SYSGEN_DSHOW_AVI AVI Filter
SYSGEN_DSHOW_DISPLAY DirectShow Display
SYSGEN_DSHOW_DMO DirectX Media Object wrapper filter
SYSGEN_DSHOW_ERRORS DirectShow Error Messages
SYSGEN_DSHOW_ICM Video/Image Compression Manager
SYSGEN_DSHOW_IMAADPCM IMA ADPCM Audio Codec
SYSGEN_DSHOW_MP3 MP3 Codec
SYSGEN_DSHOW_MP3DMOD MP3 Decoder DMO
SYSGEN_DSHOW_MPEGA MPEG-1 Layer 1 & 2 Audio Codec
SYSGEN_DSHOW_MPEGSPLITTER MPEG-1 Parser/Splitter
SYSGEN_DSHOW_MPEGV MPEG-1 Video Codec
SYSGEN_DSHOW_MSADPCM MS ADPCM Audio Codec
SYSGEN_DSHOW_MSG711 G.711 Audio Codec
SYSGEN_DSHOW_MSGSM610 GSM 6.10 Audio Codec
SYSGEN_DSHOW_MSRLE MS RLE Video Codec
SYSGEN_DSHOW_OVMIXER Overlay Mixer
SYSGEN_DSHOW_SAMPLE Sample filters, codecs, and applications for DirectShow
SYSGEN_DSHOW_VIDREND DirectShow Video Renderer
SYSGEN_DSHOW_WAV Wave/AIFF/au/snd File Parser
SYSGEN_DSHOW_WAVEOUT Waveform Audio Renderer
SYSGEN_DSHOW_WMA WMA Codec
SYSGEN_DSHOW_WMA_VOICE WMA Voice Codec
SYSGEN_DSHOW_WMV WMV / MPEG-4 Video Codec

MP3 codec optimizations for XScale-based platforms

If you are developing an XScale-based platform to support MP3 decoding, you can take advantage of some optimizations in the MP3 codec that are only available for XScale processors by including the following code in your %_WINCEROOT%\Platforms\<Hardware platform name>\<Hardware platform name>.bat file:

set _TGTCPUVARIANT=XSC 

This optimized codec is only available for OS designs based on Windows CE .NET 4.2 or later.

Application Development Topics

DirectShow Application Development

DirectShow Security

DirectShow Registry Settings

DirectShow Reference

See Also

DirectShow

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.