11573Srgrimes/*
21573Srgrimes * Copyright (c) 1999-2000, Eric Moon.
31573Srgrimes * All rights reserved.
41573Srgrimes *
51573Srgrimes * Redistribution and use in source and binary forms, with or without
61573Srgrimes * modification, are permitted provided that the following conditions
71573Srgrimes * are met:
81573Srgrimes *
91573Srgrimes * 1. Redistributions of source code must retain the above copyright
101573Srgrimes *    notice, this list of conditions, and the following disclaimer.
111573Srgrimes *
121573Srgrimes * 2. Redistributions in binary form must reproduce the above copyright
131573Srgrimes *    notice, this list of conditions, and the following disclaimer in the
141573Srgrimes *    documentation and/or other materials provided with the distribution.
151573Srgrimes *
161573Srgrimes * 3. The name of the author may not be used to endorse or promote products
171573Srgrimes *    derived from this software without specific prior written permission.
181573Srgrimes *
191573Srgrimes * THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
201573Srgrimes * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
211573Srgrimes * OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
221573Srgrimes * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
231573Srgrimes * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
241573Srgrimes * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
251573Srgrimes * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
261573Srgrimes * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
271573Srgrimes * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
281573Srgrimes * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
291573Srgrimes */
301573Srgrimes
311573Srgrimes
321573Srgrimes// NullAudioOp.h
331573Srgrimes// * PURPOSE
341573Srgrimes//   To test the IAudioOp framework, this file includes
351573Srgrimes//   an IAudioOpFactory implementation that creates
361573Srgrimes//   'do-nothing' operations.  (This operation literally
3792986Sobrien//   does nothing -- it doesn't even copy the input buffer
3892986Sobrien//   to the output, so beware!)
391573Srgrimes//
401573Srgrimes// * HISTORY
411573Srgrimes//   e.moon		8sep99		Begun
421573Srgrimes
431573Srgrimes#ifndef __NullAudioOp_H__
441573Srgrimes#define __NullAudioOp_H__
451573Srgrimes
461573Srgrimes#include "IAudioOpFactory.h"
471573Srgrimes
481573Srgrimesclass NullAudioOpFactory :
491573Srgrimes	public	IAudioOpFactory {
501573Srgrimespublic:											// *** INTERFACE
511573Srgrimes	// The basic create method.
521573Srgrimes	// Return 0 if no algorithm could be found for the given format.
531573Srgrimes
541573Srgrimes	IAudioOp* createOp(
551573Srgrimes		IAudioOpHost*										host,
561573Srgrimes		const media_raw_audio_format&		inputFormat,
571573Srgrimes		const media_raw_audio_format&		outputFormat); //nyi
581573Srgrimes
591573Srgrimes	IParameterSet* createParameterSet(); //nyi
601573Srgrimes};
611573Srgrimes
621573Srgrimes#endif /*__NullAudioOp_H__*/