`
`Page 5 of8
`
`This sample cannot be rendered.
`VFW_E_SAMPLE_REJECTED_EOS
`This sample cannot be rendered because the end of the stream
`has been reached.
`VFW_E_DUPLICATE_NAM E
`An attempt to add a filter with a duplicate name failed.
`VFW_S_DUPLICATE_NAM E
`An attempt to add a filter with a duplicate name succeeded with
`a modified name.
`VFW_E_TIMEOUT
`A time-out has expired.
`VFW_E_INVALID_FILE_FORMAT
`The file format is invalid.
`VFW_E_ENUM_OUT_OF_RANGE
`The list has already been exhausted.
`VFW_E_CIRCULAR_GRAPH
`The filter graph is circular.
`VFW_E_NOT _ALLOWED_ TO_SAVE
`Updates are not allowed in this state.
`VFW_E_ TIM E_ALREADY _PASSED
`An attempt was made to queue a command for a time in the
`past.
`VFW_E_ALREADY _CANCELLED
`The queued command was already canceled.
`VFW_E_CORRUPT _GRAPH FILE
`Cannot render the file because it is corrupt.
`VFW_E_ADVISE_ALREADY _SET
`An !Overlay advise link already exists.
`VFW_S_STATE_INTERMEDIATE
`The state transition is not complete.
`VFW_E_NO_MODEX_AVAILABLE
`No full-screen modes are available.
`VFW_E_NO_ADVISE_SET
`This advise cannot be canceled because it was not successfully
`set.
`VFW_E_NO_FULLSCREEN
`Full-screen mode is not available.
`VFW_E_IN_FULLSCREEN_MODE
`Cannot call !VideoWindow methods while in full-screen mode.
`VFW_E_UNKNOWN_FILE_ TYPE
`The media type of this file is not recognized.
`VFW_E_CANNOT _LOAD_SOURCE_FILTER
`The source filter for this file could not be loaded.
`VFW_S_PARTIAL_RENDER
`Some of the streams in this movie are in an unsupported format.
`VFW_E_FILE_ TOO_SHORT
`
`Ox8004022C
`
`556
`
`Ox8004022D
`
`557
`
`Ox0004022D
`
`557
`
`Ox8004022E
`
`558
`
`Ox8004022F
`
`559
`
`Ox80040230
`
`560
`
`Ox80040231
`
`561
`
`Ox80040232
`
`562
`
`Ox80040233
`
`563
`
`Ox80040234
`
`564
`
`Ox80040235
`
`565
`
`Ox80040236
`
`566
`
`Ox00040237
`
`567
`
`Ox80040238
`
`568
`
`Ox80040239
`
`569
`
`Ox8004023A
`
`570
`
`Ox8004023B
`
`571
`
`Ox80040240
`
`576
`
`Ox80040241
`
`577
`
`Ox00040242
`
`578
`
`Ox80040243
`
`579
`
`2036
`
`
`
`Error and Success Codes
`
`Page 6 of8
`
`A file appeared to be incomplete.
`VFW_E_INVALID_FILE_ VERSION
`The file's version number is invalid.
`VFW_S_SOME_DATA_IGNORED
`The file contained some property settings that were not used.
`VFW_S_CONNECTIONS_DEFERRED
`Some connections failed and were deferred.
`VFW_E_INVALID_CLSID
`This file is corrupt: it contains an invalid class identifier.
`VFW_E_INVALID_M EDIA_ TYPE
`This file is corrupt: it contains an invalid media type.
`VFW_E_SAMPLE_ TIME_NOT _SET
`No time stamp has been set for this sample.
`VFW_S_RESOURCE_NOT_NEEDED
`The resource specified is no longer needed.
`VFW_E_MEDIA_ TIME_NOT _SET
`No media time stamp was set for this sample.
`VFW_E_NO_ TIM E_FORMAT _SET
`No media time format was selected.
`VFW_E_MONO_AUDIO_HW
`Cannot change balance because audio device is mono only.
`VFW_S_M EDIA_ TYPE_IGNORED
`Could not connect with the media type in the persistent graph.
`VFW_E_NO_DECOM PRESSOR
`Cannot play back the video stream: could not find a suitable
`decompressor.
`VFW_E_NO_AUDIO_HARDWARE
`Cannot play back the audio stream: no audio hardware is
`available, or the hardware is not supported.
`VFW_S_VIDEO_NOT_RENDERED
`Cannot play back the video stream: could not find a suitable
`renderer.
`VFW_S_AUDIO_NOT_RENDERED
`Cannot play back the audio stream: could not find a suitable
`renderer.
`VFW_E_RPZA
`Cannot play back the video stream: format 'RPZA' is not
`supported.
`VFW_S_RPZA
`Cannot play back the video stream: format 'RPZA' is not
`supported.
`VFW_E_PROCESSOR_NOT _SUITABLE
`DirectShow cannot play MPEG movies on this processor.
`VFW_E_UNSUPPORTED_AUDIO
`Cannot play back the audio stream: the audio format is not
`supported.
`
`2037
`
`Ox80040244
`
`580
`
`Ox00040245
`
`581
`
`Ox00040246
`
`582
`
`Ox80040247
`
`583
`
`Ox80040248
`
`584
`
`Ox80040249
`
`585
`
`Ox00040250
`
`592
`
`Ox80040251
`
`593
`
`Ox80040252
`
`594
`
`Ox80040253
`
`595
`
`Ox00040254
`
`596
`
`Ox80040255
`
`597
`
`Ox80040256
`
`598
`
`Ox00040257
`
`599
`
`Ox00040258
`
`600
`
`Ox80040259
`
`601
`
`Ox0004025A
`
`602
`
`Ox8004025B
`
`603
`
`Ox8004025C
`
`604
`
`
`
`Error and Success Codes
`
`Page 7 of8
`
`VFW_E_UNSUPPORTED_VIDEO
`Cannot play back the video stream: the video format is not
`supported.
`VFW_E_MPEG_NOT_CONSTRAINED
`DirectShow cannot play this video stream because it falls outside
`the constrained standard.
`VFW_E_NOT _IN_GRAPH
`Cannot perform the requested function on an object that is not in
`the filter graph.
`VFW_S_ESTIMATED
`The value returned had to be estimated. Its accuracy can't be
`g ua ra nteed.
`VFW_E_NO_ TIME_FORMAT
`Cannot get or set time-related information on an object that is
`using a time format of
`VFW_E_READ_ONLY
`Could not make the connection because the stream is read-only
`and the filter alters the data.
`VFW_S_RESERVED
`This success code is reserved for internal purposes within
`DirectShow.
`VFW_E_BUFFER_UNDERFLOW
`The buffer is not full enough.
`VFW_E_UNSUPPORTED_STREAM
`Cannot play back the file: the format is not supported.
`VFW_E_NO_ TRANSPORT
`Pins cannot connect because they don't support the same
`transport.
`VFW_S_STREAM_OFF
`The stream was turned off.
`VFW_S_CANT_CUE
`The graph can't be cued because it lacks data or contains corrupt
`data.
`VFW_E_BAD_ VIDEOCD
`The Video CD can't be read correctly by the device or is the data
`is corrupt.
`VFW_S_NO_STOP _TIME
`The sample had a start time but not a stop time. In this case, the
`stop time returned is set to the start time plus one. The
`!MediaSamole: :GetTime method can return this success code.
`VFW_E_OUT_OF _VIDEO_MEMORY
`There is not enough video memory at this display resolution and
`number of colors. Reducing resolution might help.
`VFW_E_VP _NEGOTIATION_FAILED
`The video port connection negotiation process has failed.
`VFW_E_DDRAW _CAPS_NOT _SUITABLE
`
`Ox8004025D
`
`605
`
`Ox8004025E
`
`606
`
`Ox8004025F
`
`607
`
`Ox00040260
`
`608
`
`Ox80040261
`
`609
`
`Ox80040262
`
`610
`
`Ox00040263
`
`611
`
`Ox80040264
`
`612
`
`Ox80040265
`
`613
`
`Ox80040266
`
`614
`
`Ox00040267
`
`615
`
`Ox00040268
`
`616
`
`Ox80040269
`
`617
`
`Ox80040270
`
`618
`
`Ox80040271
`
`619
`
`Ox80040272
`
`620
`
`Ox80040273
`
`621
`
`2038
`
`
`
`Error and Success Codes
`
`Page 8of8
`
`Either Microsoft DirectDraw® has not been installed or the video
`card capabilities are not suitable. Make sure the display is not in 16-
`color mode.
`VFW_E_NO_ VP _HARDWARE
`No video port hardware is available, or the hardware is not
`responding.
`VFW_E_NO_CAPTURE_HARDWARE
`No Capture hardware is available, or the hardware is not
`responding.
`VFW_E_DVD_OPERATION_INHIBITED
`This user operation is inhibited by DVD content at this time.
`VFW_E_DVD_INVALIDDOMAIN
`This operation is not permitted in the current domain.
`VFW_E_DVD_NO_BUTTON
`Requested button is not available.
`VFW_E_DVD_GRAPHNOTREADY
`DVD-Video playback graph has not been built yet.
`VFW_E_DVD_RENDERFAIL
`DVD-Video playback graph building failed.
`VFW_E_DVD_DECNOTENOUGH
`DVD-Video playback graph could not be built due to insufficient
`decoders.
`CTL_E_CANTSAVEFILETOTEMP
`CTL_E_SEARCHTEXTNOTFOUND
`CTL_E_REPLACEMENTSTOOLONG
`VFW_E_BAD_KEY
`A registry entry is corrupt.
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`Ox80040274
`
`622
`
`Ox80040275
`
`623
`
`Ox80040276
`
`624
`
`Ox80040277
`
`625
`
`Ox80040278
`
`626
`
`Ox80040279
`
`627
`
`Ox8004027a
`
`628
`
`Ox8004027b
`
`629
`
`Ox800A02DF
`Ox800A02E8
`Ox800A02EA
`Ox800403F2
`
`735
`744
`746
`1010
`
`MQl@[.jlj,M 11!.l:.!j Topic Contents
`
`l@i§lllMM
`
`2039
`
`
`
`Filters and Samples
`
`Page 1of1
`
`MQi@[.jjj,M M!i.!111j Topic Contents
`
`l@IJll!MM
`
`Filters and Samples
`
`This topic contains a brief description of the filters and sample applications shipped with
`DirectShow. The filters are supplied as binary code only and are available through the Filter
`Graph Editor. The samples include source code and demonstrate how to write DirectShow
`filters and applications. You can use these filters and samples as they are or modify them for
`your own applications.
`
`• DirectShow Filters
`
`· DirectShow Samples
`
`© 1997 Microsoft Corporation . All rights reserved . Terms of Use.
`
`2040
`
`
`
`DirectShow Filters
`
`Page 1of24
`
`MQi@[.jjj,M M!i.!111j Topic Contents
`
`l@i§il!MM
`
`DirectShow Filters
`
`Microsoft® DirectShow™ provides filters and samples as part of the DirectShow Software
`Development Kit (SDK). A filter is supplied as binary code only, and is one of the filters listed
`in the Filter Graph Editor when you choose Insert Filters from the Graph menu. Filters are
`described in this section.
`
`Samples include source code. Some samples are filters and some are applications. Some of the
`sample filters are registered and appear in the Filter Graph Editor. Other sample filters must be
`built and registered before they will appear in the Filter Graph Editor. Sample filters (and
`sample applications) are described in DirectShow Samples.
`
`The DirectShow SDK provides the following filters:
`
`• ACM Audio Compressor
`• Analog Video Crossbar
`• Audio Capture
`• Audio Renderer
`• AVI Compressor
`• AVI Decompressor
`• AVI Draw
`• AVI MUX
`• AVI Splitter
`• AVI/WAV File Source
`• Color Space Converter
`• Cutlist File Source
`• DSound Audio Renderer
`• DV Muxer
`• DV Splitter
`• DV Video Decoder
`• DV Video Encoder
`• DVD Navigator
`• File Source (Async)
`• File Source (URL)
`• File Stream Renderer
`• File Writer
`• Full Screen Renderer
`• Indeo 4.3 Video Compression
`• Indeo 4.3 Video Decompression
`• Indeo 5.0 Audio Decompression
`• Indeo 5.0 Video Compression
`• Indeo 5.0 Video Decompression
`• Indeo 5.0 Video Progressive Download Sources
`• Internal Script Command Renderer
`
`2041
`
`
`
`DirectShow Filters
`
`Page 2 of24
`
`• Line 21 Decoder
`• Lyric Parser
`• MIDI Parser
`• MIDI Renderer
`• MPEG Audio Decoder
`• MPEG Video Decoder
`• MPEG-1 Stream Splitter
`• Multi-File Parser
`• Overlay Mixer
`• QuickTime Decompressor
`• QuickTime Movie Parser
`• SAMI CCC) Parser
`• TrueMotion 2.0 Decompressor
`• TV Audio
`• TV Tuner
`• VFW Video Capture
`• VGA 16 Color Ditherer
`• Video Renderer
`• WAVE Parser
`• WDM Video Capture
`
`© 1997 Microsoft Corporation . All rjqhts reserved. Terms of Use.
`
`MQi§i[.]jj,M '!!·HM Topic Contents
`• QIM [.] +• I !!·HM Topic Contents l@i§il/¥8
`
`lmll§I 11¥8
`
`ACM Audio Compressor
`
`The ACM Audio Compressor filter acts as a container for the Audio Compression Manager
`(ACM), integrating the ACM with the DirectShow architecture. It supports the IAMStreamConfiq
`interface, which lets you control audio capture or compression information from a filter's
`output pin.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`MQl§i[.jjj,M 111.J,,[M Topic Contents
`
`l@i§i +gMM
`
`Analog Video Crossbar
`
`The WDM-based Analog Video Crossbar filter can select or route analog video. The single
`output stream represents a hardware path for analog baseband video. One of the input pins
`comes from a TV Tuner (the TV Tuner Filter). Other input pins support video streams.
`
`2042
`
`
`
`DirectShow Filters
`
`Page 3 of24
`
`The Analog Video Crossbar filter exposes the IAMCrossbar interface, which is used for routine
`source selection.
`
`This filter is available through Windows 98 and Windows NT 5.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`MQi@[.jlj,M M!i.!111j Topic Contents
`
`l@IJll!MM
`
`Audio Capture
`
`The Audio Capture (Wavein) filter is installed with the DirectShow run time. If you have audio
`capture hardware, this filter is available in the Filter Graph Editor when you choose Insert
`Filters from the Graph menu, under the Audio Capture Source category.
`
`Unlike ordinary DirectShow filters, special category filters, such as Audio Capture Source
`filters, can work with more than one device. When DirectShow is installed, it will look for
`devices installed on your computer that work with the special category filter and list the
`options in that category. For example, in the Audio Capture Source filter category, DirectShow
`will list all the audio capture cards (which includes sound cards with microphone inputs)
`installed on the system. You then need to choose which device to use.
`
`The audio capture filter has one capture output pin and several input pins (one for each type of
`input on the card, such as Linein, Mic, CD, and MIDI).
`
`The filter and its input pins each support IAMAudioinputMixer.
`
`The output pin supports IAMStreamConfig.
`
`This filter enables your sound capture card(s). If you have a sound card, it will be listed under
`in the Filter Graph Editor's list of filters in the Audio Capture Source category, with a name
`indicating the sound card it is enabling.
`
`© 1997 Microsoft Comoration. All rights reserved. Terms of Use.
`
`+;<MM++ 1 11·!:.!i Topic Contents
`
`l@IJl +g¥+
`
`Audio Renderer
`
`The Audio Renderer filter is a generic audio rendering filter that you can connect to the output
`of any of the following filters, if they contain WAV audio: File Source CAsync), File Source
`CURL), MPEG-1 Stream Splitter, AVI Splitter, WAVE Parser, or any audio transform filter. This
`filter does not check the audio stream's subtype; the WAVEFORMAT or WAVEFORMATEX
`structure passed in the format block contains the information needed to connect to this filter.
`
`2043
`
`
`
`DirectShow Filters
`
`Page 4 of24
`
`The filter's property sheet contains the following:
`Tab
`Property
`Values
`Audio Input Preferred Media
`Lists the major type, subtype, and format.
`Pin
`Types
`(rendered)
`Audio
`Renderer
`
`wFormatTag
`
`nChannels
`
`nBlockAlign
`
`Waveform-audio format type. Many compression algorithms
`have registered format tags; the Mmreg.h header file
`contains a complete list of these format tags.
`Number of channels in the waveform-audio data. Monaural
`data uses one channel and stereo data uses two channels.
`nSamplePerSec Rate, in samples per second (hertz), at which each channel
`should play or record. If wFormatTag is
`WAVE_FORMAT _PCM, then common values for
`nSamplePerSec are 8.0 kHz, 11.025 kHz, 22.05 kHz, and
`44.1 kHz. For non-PCM formats, you must compute this
`member according to the manufacturer's format
`specification.
`nAvgBytesPerSec Required average data-transfer rate, in bytes per second, for
`the format tag. If wFormatTag is WAVE_FORMAT_PCM,
`then nAvgBytesPerSec should equal the product of
`nSamplesPerSec and nBlockAlign. For formats other than
`pulse code modulation (PCM), you must compute this
`member according to the manufacturer's format
`specification. Playback and record software can estimate
`buffer sizes by using the nAvgBytesPerSec member.
`Block alignment, in bytes. The block alignment is the
`smallest unit of data for the wFormatTag format type. If
`wFormatTag is WAVE_FORMAT_PCM, then nBlockAlign
`should equal nChannels. For non-PCM formats, this member
`must be computed according to the manufacturer's format
`specification.
`
`Playback and record software must process a multiple of
`nBlockAlign bytes of data at a time. Data written and read
`from a device must always start at the beginning of a block.
`For example, it is illegal to start playback of PCM data in the
`middle of a sample (that is, on a non-block-aligned
`boundary).
`Specifies the rendering rate for this file. This value acts as a
`multiplier; 1.0 represents the authored speed. Read-only.
`
`Rate
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`MQl@[.jlj,M l!i.! 111j Topic Contents
`MQi§i[.jlj,M 111.Hj Topic Contents •@m• •gnw
`
`l@i§lllMM
`
`AVI Compressor
`
`2044
`
`
`
`DirectShow Filters
`
`Page 5 of24
`
`The AVI compressor filter has one input pin and one output pin.
`
`The filter supports the IAMVfwCompressDialogs interface.
`
`The output pin supports the IAMStreamConfig and IAMVideoCompression interfaces.
`
`© 1997 Microsoft Corooratjon . All rights reserved. Terms of Use.
`
`MQ<§i[.jjj,M ill.HM Topic Contents
`
`i@faii!MM
`
`AVI Decompressor
`
`The AVI Decompressor filter decompresses AVI input and generates suitable output for a video
`rendering filter or an intervening video transform filter.
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`MQ<§i[.jjj,M ill.HM Topic Contents •@M* 1gnw
`
`AVI Draw
`
`This filter handles IOverlay interface support for an audio-video interleaved (AVI) video data
`stream. The AVI Draw filter's input pin connects to a video data output pin from the AVI
`Splitter filter. The AVI Draw output pin must connect to a filter that supports overlays;
`currently, the Video Renderer filter is the only such filter included with the DirectShow SDK.
`
`DirectShow typically uses this filter to play back motion-JPEG (MJPEG) compressed AVI files on
`a computer with hardware support for MJPEG playback. In a general sense, this filter
`negotiates connections between specific hardware devices and AVI video streams that rely on
`those hardware devices, such as video capture and playback cards. This filter is not needed for
`playback or processing of streams that are hardware-independent.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`MQi§1[.]+• 1 !!·HM Topic Contents
`
`l@l§lllMM
`
`AVI MUX
`
`2045
`
`
`
`DirectShow Filters
`
`Page 6 of24
`
`The AVI MUX filter takes the input from one or more media streams, converts the data if
`necessary, and combines it to produce a single output data stream in audio-video interleaved
`(AVI) format. This filter's output pin must be connected to the File Writer filter.
`
`The AVI MUX's default behavior produces an AVI 1.0 format interleaved data stream. Use the
`IConfiqAviMux interface to change the compatibility index.
`
`The filter's property sheet contains the following:
`Tab
`Property
`Values
`Interleaving Interleaving
`Controls the level of interleaving between the source media
`files; you can specify the level of interleaving: none, capture,
`or full.
`Sets the audio preroll and interleaving frequency (measured
`in milliseconds).
`Displays the number of dropped frames on the output data
`stream.
`Enable and disable Capture Drift on the specified master
`stream.
`Displays the major type, subtype, and format of the output
`data stream.
`Displays the major type, subtype, and format of the specified
`input data stream.
`
`Interleaving
`Parameters
`Throughput
`Statistics
`AVI Specific Capture Drift:
`master stream
`Preferred Media
`Types
`Preferred Media
`Types
`
`AVI Out
`
`Input OX
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`MQij[.jlj,M l!i.! 11ij Topic Contents
`
`l@i§i 1gzj+
`
`AVI Splitter
`
`The AVI Splitter filter parses AVl-compressed video data and splits it into the component data
`streams. It can be connected to the File Source (async), File Source (URL), or AVI/WAV File
`Source filter supplied with DirectShow, or a third-party filter that delivers a compressed AVI
`stream and can interface with an asynchronous parser.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`MQij[.jlj,M l!i.! 11ij Topic Contents
`
`l@i§il!MM
`
`AVl/WAV File Source
`
`The AVI/WAV File Source filter reads AVI and WAV source files and generates the appropriate
`output pins for the file type.
`
`For WAV files, the filter creates an audio output pin, which produces an audio stream that can
`
`2046
`
`
`
`DirectShow Filters
`
`Page 7 of24
`
`be connected to an audio rendering filter or intervening audio transform filter.
`
`For AVI files, the filter creates a video output pin, which produces a compressed AVI stream
`suitable for the AVI codec filter, and an audio output pin, which produces an audio stream
`suitable for an audio rendering filter or an intervening audio transform filter.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Qi§i[.]ii,+ 1 !!·HM Topic Contents
`
`i@l§ii!MM
`
`Color Space Converter
`
`This transform filter converts from one RGB color type to another, such as between 24-bit and
`8-bit RGB color. You can use this filter to convert to a color space used by the video rendering
`filter, such as from the AVI Decomoressor filter to the Full Screen Renderer filter.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Qi§i[.]ii,+ 1 !!·HM Topic Contents
`
`i@l§ii!MM
`
`Cutlist File Source
`
`This source filter can output different pieces of different .avi or .wav files seamlessly and
`efficiently. It can be used for nonlinear video editing and for audio editing.
`
`Using the CutListGraphBuilder object, the SimpleCutList object, and the VideoFileClip and
`AudioFileClip objects, an application can build a cutlist out of pieces of .avi and .wav, and use
`the DirectShow Cutlist Source Filter to play it.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`MQiji.jjj,M M!i.!111M Topic Contents
`
`i@l§i +gzj+
`
`DSound Audio Renderer
`
`The DSound Audio Renderer filter is a generic audio rendering filter that you can connect to
`the output of any of the following filters, if they contain WAV audio: File Source (Async), .Eil.e.
`Source (URL), MPEG-1 Stream Splitter, AVI Splitter, WAVE Parser, or any audio transform
`filter. In addition to its basic sound-rendering capabilities, this filter can process Microsoft
`DirectX® DirectSound® API calls; use the IAMDirectSound methods to set and retrieve the
`window that will handle the sound playback.
`
`2047
`
`
`
`DirectShow Filters
`
`Page 8 of24
`
`Note that this filter does not check the subtype of the audio stream; the WAVEFORMAT or
`WAVEFORMATEX structure passed in the format block contains the information needed to
`connect to this filter. The Audio Renderer is the default audio rendering filter for DirectShow;
`to use the DSound Audio Renderer filter instead, you must insert it into the filter graph
`before rendering the media file.
`
`The filter's property sheet contains the following:
`Tab
`Property
`Values
`Audio Input Preferred Media
`Lists the major type, subtype, and format
`pin
`Types
`(rendered)
`Audio
`Renderer
`
`wFormatTag
`
`nChannels
`
`nBlockAlign
`
`Waveform-audio format type. There are many compression
`algorithms with registered format tags. You can find a
`complete list of format tags in the Mmreg.h header file.
`Number of channels in the waveform-audio data. Monaural
`data uses one channel and stereo data uses two channels.
`nSamplePerSec Rate, in samples per second (hertz), at which each channel
`should play or record. If wFormatTag is
`WAVE_FORMAT_PCM, then common values for
`nSamplesPerSec are 8.0 kHz, 11.025 kHz, 22.05 kHz, and
`44.1 kHz. For non-PCM formats, you must compute this
`member according to the manufacturer's format
`specification.
`nAvgBytesPerSec Required average data-transfer rate, in bytes per second, for
`the format tag. If wFormatTag is WAVE_FORMAT_PCM,
`nAvgBytesPerSec should equal the product of
`nSamplesPerSec and nBlockAlign. For non-PCM formats,
`you must compute this member according to the
`manufacturer's format specification. Playback and record
`software can estimate buffer sizes by using the
`nAvgBytesPerSec member.
`Block alignment, in bytes. The block alignment is the
`minimum atomic unit of data for the wFormatTag format
`type. If wFormatTag is WAVE_FORMAT _PCM, nBlockAlign
`should equal the product of nChannels and
`wBitsPerSample divided by 8 (bits per byte). For non-PCM
`formats, you must compute this member according to the
`manufacturer's format specification.
`
`Playback and record software must process a multiple of
`nBlockAlign bytes of data at a time. Data written and read
`from a device must always start at the beginning of a block.
`For example, it is illegal to start playback of PCM data in the
`middle of a sample (that is, on a non-block-aligned
`boundary).
`This value represents the rate of audio playback, where 1.0
`is the authored speed. This value is a multiplier; a value of
`2.0 is twice the authored speed and 0.5 is half.
`
`Rate
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`2048
`
`
`
`DirectShow Filters
`
`Page 9 of24
`
`+Qi§1[.]++ 1 !!·HM Topic Contents
`
`i@l§ii!MM
`
`MQij[.jjj,M 111.11119 Topic Contents
`
`i@l§i +gzj+
`
`DV Muxer
`
`The DV Muxer filter multiplexes compressed DV video with compressed DV audio.
`
`The DV Muxer filter accepts the following input media types:
`
`From the video input pin:
`MEDIA TYPE_ Video
`MEDIASUBTYPE_dvsd/dvhd/dvsl
`FORMAT: VIDEOINFO
`
`From the audio input pin:
`MEDIATYPE_Audio
`MEDIASU BTYPE_ wave
`FORMAT: WAVEFORMATEX/NULL
`
`The DV Muxer filter sends the following output media type:
`
`From the video output pin:
`MEDIATYPE_Interleaved(iavs)
`MEDIASUBTYPE_dvsd/dvhd/dvsl
`FORMAT: DVINFO
`
`To see a diagram of how to use the DV Muxer filter with the DV Video Encoder filter, see DV
`Video Encoder.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Qij[.jjj,M 111.11119 Topic Contents
`
`i@l§ii!MM
`
`+;<§1[.]jj,+ 111.],.[9 Topic Contents Mttfjl§ii!MM
`
`DV Splitter
`
`The DV Splitter filter passes a DV stream to a downstream filter (DV Video Decoder and
`converts DV audio to PCM audio.
`
`2049
`
`
`
`DirectShow Filters
`
`Page 10of24
`
`The DV Splitter filter accepts the following input media type:
`MEDIATYPE_Interleaved(iavs)
`MEDIASUBTYPE_dvsd/dvhd/dvsl
`FORMAT: DVINFO
`
`The DV Splitter filter outputs the following output media types:
`
`From the video output pin:
`MEDIATYPE_Video
`MEDIASUBTYPE_dvsd/dvhd/dvsl
`FORMAT: VIDEOINFO
`
`From the audio output pin:
`MEDIATYPE_Audio
`MEDIASU BTYPE_ wave
`FORMAT: WAVEFORMATEX
`
`To see a diagram of how to use the DV Splitter filter with the DV Video Decoder filter, see DV
`Video Decoder.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Qij[.jlj,M l!i.! 11ij Topic Contents
`
`l@i§lllMM
`
`+QiM!.l+' 111.],.[J Topic Contents
`
`l@i§lllMM
`
`DV Video Decoder
`
`The DV Video Decoder filter decodes a DV stream to uncompressed video.
`
`The DV Video Decoder filter accepts the following input media type:
`MEDIA TYPE_ Video
`MEDIASUBTYPE_dvsd/dvhd/dvsl
`FORMAT: VIDEOINFO
`
`The DV Video Decoder filter outputs the following output media type:
`MEDIA TYPE_Interleaved
`MEDIASUBTYPE_RGB/YUYV/and other RGB and FOURCC subtypes
`FORMAT: VIDEOINFO
`
`The following illustration gives an example of how to use DV Video Decoder and DV Splitter
`filters.
`
`2050
`
`
`
`DirectShow Filters
`
`Page 11 of24
`
`MEDIATYPE_ Video
`MEDIATYPE_Interleaved
`MEDIASUBTYPE_dvsd/dvhd/dvsl
`MEDIASUBTYPE_dvsd/dvhd/dvsl
`FORMAT: DVINFO ------~ FORMAT: VIDEOINFO
`
`MEDIATYPE_Stream
`
`MEDIASUBTYPE_Avi l
`
`File Source ( async)
`
`----~
`
`AV! Splitter
`
`.--------------!_.----------..
`
`DV Video Decoder
`
`DV Splitter
`
`Video Renderer
`
`Audio Renderer
`
`MEDIATYPE_Audio
`MEDIASUBTYPE_ WAVE
`FORMAT: WAVEFORMATEX ---------~
`
`MEDIATYPE_ Video
`MEDIASUBTYPE_RGB
`FORMAT:VIDEOINFO------------------~
`
`HQ!§ 11.i!l,9 Mii.11119
`
`T op1c Contents
`
`DV Video Encoder
`
`The DV Video Encoder filter encodes uncompressed video into a compressed DV stream.
`
`The DV Video Encoder filter accepts the following input media type:
`MEDIATYPE ... Video
`MEDIASUBTYPE .... RGB/YUYV/and other RGB and FOURCC subtypes
`FORMAT: VIDEOINFO
`
`The DV Video Encoder filter outputs the following output media type:
`MEDIATYPE .... Interteaved
`MEDIASUBTYPE .... dvsd/dvhd/dvs!
`FORMAT: VIDEOINFO
`
`The following illustration gives an example of how to use DV Video Encoder and DV Muxer
`filters.
`
`MEDIATYPE_Interleaved
`MEDIATYPE_Video
`MEDIASUBTYPE_dvsd/dvhd/dvsl
`MEDIASUBTYPE_dvsd/dvhd/dvsl
`FORMAT: VIDEOINFO - - - - - - - - - - - ] FORMAT: DVINJFO
`MEDIATYPE_ Video
`MEDIASUBTYPE_RGB
`FORMAT: VIDEOINFO -----~
`
`File Source ( async)
`
`AV! Splitter
`
`~--~
`DV Encoder
`
`DV MUX
`
`----~
`AV! MUX
`
`File Writer
`
`2051
`
`
`
`DirectShow Filters
`
`Page 12of24
`
`+Qi§i[.]ii,+ 1 !!·HM Topic Contents
`
`i@l§ii!MM
`
`DVD Navigator
`
`The DVD Navigator filter is the source filter for a DVD-Video playback filter graph. It opens all
`necessary files in a DVD-Video volume, navigates through the linear DVD-Video .vob files, and
`parses the resulting MPEG-2 program stream, splitting the stream into three (video, audio,
`subpicture) output pins.
`
`The DVD Navigator filter also implements the IDvdControl and IDvdinfo interfaces that enable
`a DVD playback application to control DVD-Video playback.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Qi@[.jjj,+ 111.11119 Topic Contents
`
`i@l§ii!MM
`
`File Source (Async)
`
`The File Source (async) filter is a generic asynchronous source filter that works with any
`source file whose media major type is stream. This includes AVI, MOV, MPEG, and WAV files. It
`requires the downstream filter to be a parser, such as the MPEG-1 Stream Splitter, the AVI
`Splitter, or the QuickTime Movie Parser.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Qi@[.jjj,+ 111.11119 Topic Contents
`
`i@l§ii!MM
`
`File Source (URL)
`
`The File Source (URL) filter is a generic asynchronous source filter that works with any source
`file that can be identified by a Uniform Resource Locator (URL) and whose media major type is
`stream. This includes AVI, MOV, MPEG, and WAV files. It requires the downstream filter to be a
`parser, such as the MPEG-1 Stream Splitter, the AVI Splitter, or the QuickTime Movie Parser.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Qi@[.jjj,+ 111.11119 Topic Contents
`
`i@l§ii!MM
`
`2052
`
`
`
`DirectShow Filters
`
`Page 13of24
`
`File Stream Renderer
`
`The File Stream Renderer filter renders streams with the major media type MEDIATYPE_File.
`The filter hooks up to output pins of type MEDIATYPE_File and renders a separate filename
`when the pin is rendered. The filename is contained in the pformat field of the media type.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+;<§1[.]lj,i '!!·!:.!¥ Topic Contents i@i§ll!¥+
`
`File Writer
`
`The File Writer filter writes a stream of bits to disk. The output format matches the input
`format. The AVI MUX filter is currently the only filter to which the File Writer can connect, so it
`writes all data to the specified file in audio-video interleaved (AVI) format. You can create a
`new output file or specify an existing file; if the file already exists, it will be completely
`overwritten with the new data.
`
`The time stamps on samples delivered to the file writer are byte offsets in the file. The input
`pin exposes the COM !Stream interface and supports a subset of the interface. This enables the
`upstream filter to write data when the graph is stopped.
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`+Q<@[.jlj,M 111.11119 Topic Contents
`
`i@i§i i!fttiM
`
`Full Screen Renderer
`
`The Full Screen Renderer filter is a Mode X rendering filter that occupies the entire desktop
`when it displays video.
`
`Full-screen rendering is enabled from the filter graph manager, which automatically switches
`between the filter graph's video renderer and the Full Screen Renderer when required; you
`need not include the Full Screen Renderer in the filter graph beforehand.
`
`The filter's property sheet contains the following:
`
`2053
`
`
`
`DirectShow Filters
`
`Page 14 of 24
`
`Property
`Tab
`Quality Frames played
`Frames dropped in renderer
`Average frame rate achieved
`
`Jitter (std dev frame time)
`(mSec)
`Average sync offset (mSec)
`Std dev sync offset (mSec)
`
`Input Preferred Media Types
`
`Values
`Total frames in the video stream
`Number of frames dropped during playback
`Average frames per second displayed during
`playback
`Standard deviation frame rate, in milliseconds
`
`Average synchronization offset, in milliseconds
`Standard deviation synchronization offset, in
`milliseconds
`Lists the major type, subtype, and format
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`•;<MM+' 111.],.[9 Topic Contents
`
`lmli§lllMM
`
`Internal Script Command Renderer
`
`The Internal Script Command Renderer filter accepts data in with a major media type of
`MEDIATYPE_Text or MEDIATYPE_ScriptCommand, and, when it is time to render a particular
`piece of data, files an EC OLE EVENT event with the text or command as the parameters.
`
`© 1997 Microsoft Corporation . All rights reserved. Terms of Use.
`
`•;<MM+' 111.],.[9 Topic Contents
`
`lmli§lllMM
`
`Indeo 4.3 Video Compression
`
`The Indeo® 4.3 Video Compression filter compresses video data into the Indeo 4.3 format.
`This is typically used when writing out a video file for playback in, for example, a capture filter
`graph.
`
`For more information about Intel Indeo Video, see the Intel Web site at
`http ://develooer.intel.com/ial/indeo l!:I .
`
`© 1997 Microsoft Corporation. All rights reserved. Terms of Use.
`
`8 4'41M+• 111.q9 Topic Contents
`
`1@!§111$8
`
`Indeo 4.3 Video Decompression
`
`2054
`
`
`
`DirectShow Filters
`
`Page 15of24
`
`The Indeo® 4.3 Video Decompression filter will decompress Indeo 4.3, 4.2, and 4.1 videos.
`This filter can be used during playback of Indeo 4.0 video files.
`
`For more information about Intel Indeo Video, see the Intel Web